C++/C++

[C++] 멤버함수포인터 소멸자 런타임 에러

sihyeong 2022. 12. 1. 01:24

1. 클래스의 멤버변수로 멤버함수포인터를 가지고 있었음

 

2. 멤버함수포인터를 초기화 해라는 경고메시지 떠서 선언 후 바로 초기화를 함

 

3. 클래스의 소멸자가 호출될 때 런타임 오류가 발생함

 

4. 멤버함수포인터 초기화 코드를 지우고 실행하니 런타임 오류가 발생하지 않음

 

 

  • null로 초기화 해보고, 사용할 함수의 주소값 넣어서 초기화 해보고 변수 선언 후 바로 초기화도 해봤으나
  • 시작할 때 초기화가 되었다면 여전히 런타임 오류 발생함

 

결론 : 멤버함수포인터는 선언 후 초기값을 주면 소멸자 호출 시 런타임 오류 호출됨

따라서 런타임 중에 초기화하여 사용해야 한다.