프로그래밍/error

deprecated conversion from string constant to 'char*'

콘파냐 2014. 1. 10. 18:21

deprecated conversion from string constant to 'char*'  은 에러가 아닌 경고지만, 해결하지 않는다면, 나중에 문제가 될 소지가 있습니다. 이 경고는 컴파일러를 최신으로 바꾼 후 뜰 수가 있습니다.

 

그러면 우선 경고를 만들어보겠습니다.

 

 

기존엔 이런 표현으로 쓰곤 했습니다. 문제가 있는 표현이지만, 컴파일상에서 에러가 나지 않았었습니다.

형식이 바뀌었습니다. 위 같은 표현으로 쓰기위해선 다음과 같이 써야합니다.

 

 

 

 

 

아래는 같은 표현입니다.(기존에 쓰던 방법)

 

const char *c 라는 표현자체가 문자상수라는 표현인데, 확실히const를 명시하는 표현이 정확하다고 생각드네요.

표현은 확실해졌네요.

 

아니면 string 클래스를 사용해서 객체를 생성하여 사용하는 방법이 있겠는데요.



string 클래스를 쓰기위해서 using std::string; 로 string클래스를 임포트 시킨후 사용해야합니다.

 

 

 

assign은 문자를 할당하는 string클래스의 멤버함수입니다.

문자를 할당하는 방법은 위 세가지 방법이 있는데요.

c언어만 사용한다면 malloc을 이용하는 방법을 사용하셔야하구요.

c++을 사용하신다면 string클래스를 사용해보시길바랍니다.

정말 세세한 문자놀이를 하시려면 strcpy를 이용하여 여러가지 함수를 만들어 보세요.

하지만 string클래스의 기능들도 많습니다.

 

참고 : string클래스와 위에 경고메세지에 string은 다른겁니다. 주의하세요.

반응형