char* pText = "String";
다음과 같은 코드를 써서 컴파일하니 이런 오류가 떴다.
'초기화 중' : 'const char[7]에서 'char*'(으)로 변환할 수 없습니다.
이 에러가 뜨는 원인은 Visual Studio 2017부터 준수모드로 설정하면 const char* 에서 char*로의 암시적 형변환을 허용하지 않기 때문이다(준수모드는 2번째 방법에서 바꾸는 방법을 소개).
해결 방법은 2가지가 있다.
1번째는 char*를 const char*로 바꾸면 된다.
const char* pText = "String";
2번째 방법은 Visual studio 설정을 바꿀 수 있는 상황에서 사용할 수 있다. 프로젝트 우클릭 > 속성 > C/C++ > 언어 > 준수 모드를 아니요로 바꾸면 const로 바꾸지 않아도 컴파일이 된다.
'공부 > 그 외' 카테고리의 다른 글
꼬리 재귀(Tail recursion) (0) | 2021.08.04 |
---|---|
오브젝트 풀(Object Pool) (0) | 2021.07.19 |
메모리 풀(Memory Pool) (0) | 2021.07.14 |
Handle, Handler란? (0) | 2021.07.09 |
레거시(legacy)란? (0) | 2021.07.08 |