使用C ++,我在创建类时获得带有0xcdcdcdcd的指针 - 发生了什么?

时间:2011-11-26 00:31:42

标签: c++ visual-c++ memory initialization in-class-initialization

---------------- EDIT -----------------------

我抓错了比较的值,cdcdcdcd来自其他地方。我仍然有我的方法在它们被触及之前抛出异常,但我的问题在于其他地方,我希望有一种方法可以“解开”我原来的问题。谢谢你的帮助。

---------------- EDIT -----------------------

我有一个类(MyClass)我从一些第三方类继承(反过来来自直接显示类 - 如果这很重要,则来自CBaseFilter)。我写这段代码:

MyClass* val = NULL;
val = new MyClass(); // Create an instance of the class.

尝试进行方法调用会导致抛出异常。通过一点点调查,我发现当我取消引用val(val本身似乎有效......类似于0x0777fc90)时,它包含0xcdcdcdcd。我环顾四周,似乎这可能表明内存已经在堆上分配,但没有初始化。

这是什么意思?!如何调用new成功(val!= NULL)但是内存没有初始化到足以指向它的指针?某些基类初始化可能出现问题吗?如果是这样 - 我在寻找什么?