4.3.2 20081105 (레드햇 4.3.2-7) (GCC) 입력 파일이 CONST 문자가 :g ++ 문자 NULL 오류
#include <stdio.h>
#include <stdlib.h>
#include "textfile.h"
...
const char * vs=NULL;
vs = textRead("myfile.file");
const char * vv = vs;
free(vs);
이 문자의 바르가를 메인 cpp 프로그램에 사용되며 텍스트로 채워집니다.
는 나는이 오류가 발생했습니다 (I 생각이 캐스트 변환입니다)하지만 난 실수를 어디에 모르는 myfile.file를
에서 데이터를로드 헤더 하나 개의 기능 textRead에 사용합니다.
warning: deprecated conversion from string constant to ‘char*’
error: invalid conversion from ‘const void*’ to ‘void*’
첫 번째 경고는 약 vs = textRead ("myfile.file"); 두 번째 오류는 약 무료입니다 (vs);
내 코드가 잘못되었습니다.
const char *textRead(char *)
자동으로되지 않습니다 char *
에 문자열 "myfile.file를"을 (유형 const char *
이있는) 변환 : 당신의 textRead() 함수는 대부분 thusly 히 선언되기 때문에
무엇이 잘못 되었나요?'free()'는'void *'를 기대하고'const void * '를 전달하고 있습니다. 컴파일러가 정확히 말한 것입니다. –
나는 리눅스 OS에서 g ++를 사용하여이 cpp를 이해하는 데 필요한 훌륭한 튜토리얼이 필요하다고 생각한다. 미안해. 팀에 방해가 돼. –
당신은 누군가를 방해하지 않았습니다. 질문을하고 배우는 것이 좋습니다. –