VS 2015에서는 문자열 변수 선언시 아래의 문장은 아무런 문제가 없이 실행된다.
char * str = "Hello";
그러나 VS 2017에서는 에디터에서 상수 문자열을 일반 문자열로 형변환할 수 없다는 컴파일러 오류가 발생한다
VisualStudio 2017 15.5 버전부터는 모든 솔루션에 [준수모드]가 디폴트로 Permissive 상태로 설정되어 있기 때문에 위의 문장에서 오류가 발생한다.
"const char *" 형식의 값을 사용하여 "char *" 형식의 엔티티를 초기화할 수 없습니다"
VS 2017에서는 더 엄격한 문법 준수 모드로 설정되어 있기 때문이다
그러므로 아래와 같은 방법으로 표현해야 한다
const char * str = "Hello"
이를 원래의 설정으로 변경할 필요가 있다면 아래의 절차에 따라서 설정하면 된다
프로젝트 > [프로젝트이름] 속성 > C/C++ > 언어 > 준수모드 > 아니오 선택 > 적용 > 확인