이 게시를 위해 가능한 한 작게 만들기 위해 실제 코드를 크게 줄였습니다.const 속성에 대한 함수 반환 경고
내 질문은 const
속성에 관한 것입니다. 나는이를 컴파일 할 때 ...
const char tmp[] = "anything";
int main(int argc, char *argv[]) {
/* my code */
return 0;
}
char *somefunction (char *c) {
extern const char tmp[];
/* my code */
return tmp;
}
... 내가 얻을 :
경고 : 기본적으로 사용] 포인터 대상 유형의 리턴 폐기 'CONST'규정
코드가 잘 작동합니다.
은 tmp
문자열을 건드리지 않았으므로 return
은 왜이 경고를 생성합니까?
const
을 그대로두면 경고가 사라집니다.
반환 유형이'char *'이고'const char *'가 아니기 때문에. 'char * somefunction (char * c)'를'const char * somefunction (char * c)'로 변경하십시오. –
많은 ... 고마워요! – geohei