알고리즘 문제를 풀던 도중, char*형 포인터를 이용하여, 문자열을 초기화 하고자 했는데, 다음과 같은 오류가 발생했다.
char *dayOfWeek[7] {"SUN","MON","TUE","WED","THU","FRI","SAT"};
구글에 검색을 해보니, char* 형 포인터와, 문자열과 형식이 다르기에 발생하는 문제라고 한다.
해결 방법은 2가지가 있다.
1. 자료형 앞에 const 키워드를 붙여준다.
const char *dayOfWeek[7] {"SUN","MON","TUE","WED","THU","FRI","SAT"};
const를 붙여주면 해결이 가능하지만, 포인터를 조작이 불가능해진다.
(위와 같이, 변경되지 않는 정보를 저장하고자 하는 경우라면 상관 없다.)
2. Visual Studio의 설정을 바꿔준다.
프로젝트 > 속성 > C/C++ > 언어 > 준수모드로 들어가서, 준수모드를 아니오로 바꿔준다.
에러가 해결됐다!
2020.12.21
'ETC > ETC' 카테고리의 다른 글
[C언어 에러] error C4996 Visual Studio scanf 함수 에러 (0) | 2020.12.23 |
---|---|
[C언어 에러] C4700 초기화 되지 않은 ~ 지역 변수를 사용했습니다. (0) | 2020.12.21 |
[TISTORY] 티스토리 구독 버튼 보이게 하기 + 특정 사진 누르면 구독하도록 설정하기 (0) | 2020.12.09 |
[TISTORY] 티스토리 필명 바꾸기 - 이름 두 번 나오는 현상 해결 (0) | 2020.12.08 |
[TISTORY] 북클럽(BOOK CLUB) 스킨 꾸미기 - 포스팅 상부 타이틀 편집하기 (0) | 2020.12.08 |
댓글