我有这一课:说“ InterClass
”。此类声明MainClass
为:
在MainClass.h
:
public:
InterClass *m_pInterClass;
在 MainClass 的构造函数中:
m_pInterClass = new InterClass(this);
我想在InterClass中使用MainClass的一些功能,所以传入this
构造函数。我将它分配给一个全局指针并在课堂上的任何地方使用它。
一切正常,main()
直到结束。
我的代码的最后几行是:
delete MainClass;
OutputDebugString("Exiting Application");
return 0;
我的应用程序在“”处崩溃,return 0
我将 OutputDebugString() 放在代码中的任何地方。我缩小范围是:在DebugView-我可以看到“InterClass”的析构函数被执行,然后“退出应用程序”,然后再次执行“InterClass”的析构函数。我很困惑为什么 InterClass 的析构函数被执行两次?那要在return 0;
由于此应用程序的性质,我无法在此应用程序中放置断点。
PS 我是一名嵌入式 C 程序员,对 C++ 完全陌生(被迫在 PC 应用程序上工作:()