일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 알고리즘
- c
- 백준
- Windows
- 연산자
- tipssoft
- 지식나눔강좌
- 배열
- 프로그래밍
- 이지스퍼블리싱
- 문법
- Direct2D
- c#
- Win32
- CS
- VS ERROR
- doit코틀린프로그래밍
- Desktop
- Kotlin
- Programming
- Visual Studio
- 포인터
- 김성엽
- 함수
- Tips강좌
- 리뷰
- 티스토리
- c++
- Javascript
- Tips프로그래밍강좌
- Yesterday
- Today
- Total
목록C6385 (3)
F.R.I.D.A.Y.
C6385 문제와 동일한 원인으로 발생하는 것으로 판단되는 경고 발생 재현 해당 문제 또한 C6385에서 언급한 것처럼 포인터 문법을 사용해 동적할당을 하는 경우에 잘 발생합니다. MS 공식 문서에 따르면 범위를 벗어난 공간에 접근하는 경우 문제가 발생하므로 해당 문제를 알아차릴수 있도록 C6386 경고를 띄우는 것으로 알려져 있습니다. 원인 C6385와 마찬가지로 Visual Studio[# Microsoft Visual Studio Community 2019 버전 16.10.2]의 인텔리센스의 문제로, 코드에서 범위를 알 수 없기 때문에 해당 경고를 발생시킵니다. 경고 해제 경고 해제는 다음 포스트를 참고하세요. pragma disable vs pragma suppress 경고 예외 처리를 위해 코드..
메모리 관련 작업을 하면 주로 보이는 C6385 발생 재현 C6385 경고는 주로 메모리 할당 관련 작업을 할 때 일어납니다. MS 공식 문서의 내용을 보면 접근이 허용된 메모리 공간을 벗어난 경우에 이런 경고를 띄우는 것으로 안내하고 있습니다. int arr[10]; int i = 0; while(i
오랜만에 돌아온 VS ERROR 시리즈입니다. 이번 시간에는 C6385 경고를 살펴봅니다. 문제 코드 #define _CRT_SECURE_NO_WARNINGS #include int main(void) { int arr[5] = { 0, }; for (int i = 0; i < 5; ++i) { scanf("%d", arr + i); arr[5] += arr[i]; // 오류 발생 위치 } return 0; } 원인. 접근 가능한 메모리 이탈 위 코드에서 접근 가능한 메모리 인덱스는 0부터 4입니다. 그런데 경고가 발생하는 위치에서는 인덱스를 5로 사용하고 있습니다. 따라서 범위를 수정해주면 정상적으로 경고가 사라집니다. C6201 경고가 함께 발생하는 것을 보니 일차원 배열에 대해서는 스택 범위까지 V..