아래와 같이 코딩을 하다가 오류가 발생함
<아래>
void print_nospace(char *str) { 중략 } |
int main() {print_nospace("Hello, World!\n");} |
매개변수로 char *str를 사용하는 도중에 에러가 발생.
<해결>
매개변수로 const char *str 입력 |
"Hello, World!\n" 은 변수가 없는 문자열
프로그램상에서 주소값으로 접근할 수 없기때문에
함수의 매개변수로 넘겨주려면 const를 적어줘야 한다.
즉, 대입하려는 문자열이 문자열 상수 이기때문에 const 를 붙여준다
C에서는 문자열 리터럴이 char의 배열이지만, C++에서는 const char의 배열이다.
이 오류는 비쥬얼 스튜디오 2017이상에서 발생.
'프로그래밍 > C++, C언어 오류 해결' 카테고리의 다른 글
비주얼 스튜디오 어셈블리코드 확인방법 (0) | 2021.09.15 |
---|---|
scanf 사용시 오류 (scan_f) (0) | 2021.09.05 |