[C++] char* 왜 사용할 수 없지?
c++ 에서 아래와 같은 코드를 실행 시킬 시.
const char* test1 = "t1"; // success
char* test2 = "t2"; // fail
위와 같이 컴파일 오류가 발생한다.
이유
C++에서는 상수-비상수 포인터 사이의 암묵적인 변환이 일어나지 않아
문자열 리터럴은 항상 const char*로, 명시적으로 수정할 수 없음을 나타내야 한다.
이해가 안되면 문자열 리터럴을 살펴보고 오자.
댓글
댓글 쓰기