[c++] const char* 형식의 값을 사용하여 char* 형식의 엔터티를 초기화할 수 없습니다

빵욱·2024년 4월 29일

함수를 작성하다 다음과 같은 에러를 나왔다.

const char* 형식의 값을 사용하여 char* 형식의 엔터티를 초기화할 수 없습니다

예를 들어

char* pstr = "aaaaa";

이렇게 char*에 문자열 리터럴 할당하려고 하면 발생한다.

원인은 c++에서는 문자열을 const char 취급해서 char 사용하면 const 관련 법칙에 위배되서 그렇다고 한다.

해결법은

 char str1[] = "aaaaa";

 const char* str2 = "bbbbb";

 char* str3 = (char*)"cccc";

이렇게 사용하는 방법 또는 cpp 자체 string 클래스를 사용하는 방법이 있다.

profile
rove drink eat

0개의 댓글