- - - - - - - - 编辑 - - - - - - - - - - - -
我抓住了错误的值进行比较, cdcdcdcd 来自其他地方。我仍然有我的方法在达到异常之前抛出异常,但我的问题出在其他地方,我希望有一种方法可以“取消发布”我原来的问题。谢谢您的帮助。
- - - - - - - - 编辑 - - - - - - - - - - - -
我有一个类(MyClass),我从某个第三方类继承(它又从直接显示类派生 - 如果这很重要,则来自 CBaseFilter)。我写了这段代码:
MyClass* val = NULL;
val = new MyClass(); // Create an instance of the class.
尝试进行方法调用会导致抛出异常。经过一番调查,我发现当我取消引用 val(val 本身似乎是有效的......像 0x0777fc90 之类的东西)时,它包含 0xcdcdcdcd。我环顾四周,似乎这可能表明内存已在堆上分配,但未初始化。
这意味着什么?!对 new 的调用如何成功(val != NULL),但内存还没有初始化到足以有一个指向它的指针?某些基类初始化是否可能出现问题?如果是这样 - 我在寻找什么?