inflearn logo
강의

Course

Instructor

Minimum C++ for C developers

Function Overloading

빈 포인터에 멤버함수 호출

Resolved

104

a8389742a5294

3 asked

0

class A

{

public:

int foo(int num) { return num; }

};

int main()

{

A* a = nullptr;

int pa = a->foo(10);

return 0;

}

이 코드를 실행하면 문제가 나지 않았습니다. 멤버 함수 호출이라는 것이 결국에 함수에 this포인터만 넣어주는 형태이기 멤버를 건드리지 않는 이상 런타임상에서 크래시가 나지 않는 걸로 생각은 하는데 이 생각이 맞을까요?

c++ microsoft-windows 객체지향 디자인-패턴

Answer 1

0

nullnull8537

에러가 안 나는 것이 아니라 나지 않는 것처럼 보일 뿐입니다. Visual Studio에서 F5키를 눌러 디버그 모드로 프로그램을 실행해보시기 바랍니다. 확실하게 오류를 볼 수 있습니다. 참고하시기 바랍니다. 😄

인터페이스 상속과 추상 자료형 2:00 질문

0

50

1

13분 42초의 예제

0

52

2

네임스페이스 스코프 내에서 정의된 변수, 함수들이 위치하는 곳 질문

0

46

1

소멸자 가상함수 질문

0

55

2

이동생성자의 매개변수로 넘어가는 임시객체의 값 유지 관련하여 질문이 있습니다.

0

63

2

임시 객체 복사 생성자 질문드립니다

0

66

2

변수 바인딩에 대한 의문점

0

113

1

C++ 파일 구조 질문

0

128

1

파생클래스에서 virtual함수를 선언에 대한 질문입니다.

0

116

2

순수 가상 클래스 선언과 일반 인트 변수의 선언과 다른가요?

0

137

2

안녕하세요. 이동의미론에 대해 제가 잘 이해했는지 궁금합니다.

0

132

1

인스턴스의 개념에 대해 int a(3), int(5) 예시를 바탕으로한 질문입니다.

0

189

2

식별자 검색 순서 관련 namespace 생략 관련 오류에 관한 질문

0

175

1

마지막 주소록 예제 c 파일 한글 깨짐 현상

0

190

1

nullprt vs null

0

153

2

쓸데없지만 질문드리고싶습니다

0

181

1

복사 생성자 질문 드립니다.

0

221

1

생성자 궁금한거 있습니다

0

218

2

단순대입 오류 발생 이유

0

235

1

네가지 형변환 강의 질문

0

283

1

CMyString Step10 강의 질문

0

174

1

임시 객체와 보이지 않는 복사 생성 강의 질문

0

268

2

섹션8 3번째 강의 (실습 프로젝트 - 문자열 필터개선) 질문

0

219

2

차이점을 잘 모르겠습니다.

0

233

1