2014-05-24 4 views
2

컴파일러는 다음 줄에서 불평하고 있습니다.컴파일러 경고없이 char * args []를 초기화하는 방법

char* args[] = {"/bin/bla.py", "-h"}; 

오류 : 내가 -Werror=write-strings로 컴파일하고

deprecated conversion from string constant to 'char*' 

그래서 난이 오류가 중지하는 방법을 알고; 하지만 내가 뭘 잘못하고 어떻게 경고를 막을 수 있는지보고 싶습니까?

감사합니다, char const *args[]

답변

8

변경합니다. 이 표에있는 문자열을 변경하지 않을 경우, write-strings 오류 코드에 대한 오류를 부여하는 것입니다

char const *const args[] = { .... 

사용합니다. 귀하의 코드는 합법적이지만 나쁜 습관입니다. 문자열 리터럴에 const char이 포함되어 있기 때문에 좋지 않은 행동입니다. 따라서 쓸 수없는 동작 일 수 있습니다. 포인터가 const char을 가리키게되면 쓰기를 시도하면 컴파일러 메시지가 나타납니다.

관련 문제