C++(2)
-
오류 코드 E0144 ("const char *" 형식의 값을 사용하여 "char *" 형식의 엔터티를 초기화할 수 없습니다.)
포인터 복습하면서 배열이 포인터와 똑같이 동작한다는 예제를 따라하고 있었는데 이러한 오류가 발생했다. 우선 해결 방법은 1. 상수형으로 바꿔주기 2. 프로젝트 속성에서 준수모드를 아니요로 바꿔주기 이렇게 두가지가 있다. 왜 이런 오류가 발생하는지도 궁금해서 찾아봤는데 https://docs.microsoft.com/ko-kr/cpp/build/reference/zc-strictstrings-disable-string-literal-type-conversion?view=msvc-170 /Zc:strictStrings(문자열 리터럴 형식 변환 사용 안 함) 자세한 정보: '/Zc:strictStrings'(문자열 리터럴 형식 변환 사용 안 함) docs.microsoft.com 문자열 리터럴은 변경 불가능하..
2022.06.18 -
C6011 오류 'NULL 포인터를 역참조하고 있습니다'
int i; int x; int* arr; std::cout > x; arr = (int*)malloc(sizeof(int*) * x); for (i = 0; i < x - 1; i++) { arr[i] = i; } return 0; malloc()을 사용할 때 이러한 경고가 뜨는 경우가 있는데, 이는 malloc()가 실패할 경우 null 값을 반환하므로 그런 경우에 arr을 참고할 수도 있다는 경고다. 따라서 arr이 null값인지 확인해주면 해당 경고는 사라진다.
2022.04.16