컴파일 에러와 런타임 에러
2019. 11. 18. 15:07ㆍPL/C++
[참고] https://spaghetti-code.tistory.com/35
#include <stdio.h>
int main(void) {
void* ptr = NULL;
int a = 3;
ptr = &a;
printf("%d\n", *ptr);
}
위 에러는 '식이 완전한 개체 형식의 포인터여야 합니다'라고 컴파일 오류를 낸다. '타입체크 에러'로 분류되는 것 같다
[수정 후]
#include <stdio.h>
int main(void) {
void* ptr = NULL;
int a = 3;
ptr = &a;
printf("%d\n", *(int*)ptr);
}
할당되지 않는 영역에 대해서 읽기를 시도할 때는 런타임 에러를 발생시킨다
#include <stdio.h>
int main(void) {
printf("%d\n", *(int*)(0x0A0A));
return 0;
}
'PL > C++' 카테고리의 다른 글
for문 증감부분에서의 ++i와 i++의 차이 (0) | 2019.11.17 |
---|---|
friend 함수, 클래스 올바르게 사용하기 (0) | 2019.11.17 |
new 연산자를 이용한 2차원 배열 할당 (0) | 2019.11.16 |
가상 소멸자가 필요한 이유 (0) | 2019.11.16 |
큐 연결리스트로 구현하기 (0) | 2019.11.15 |