3

- - - - - - - - 編集 - - - - - - - - - - - -

私は比較のために間違った値をつかんでいました、cdcdcdcdはどこかから来ていました。メソッドが到達する前に例外をスローすることはまだありますが、問題は他の場所にあります。元の質問を「投稿解除」する方法があればいいのにと思います。助けてくれてありがとう。

- - - - - - - - 編集 - - - - - - - - - - - -

私はいくつかのサードパーティクラスから継承したクラス(MyClass)を持っています(これは直接showクラスから派生します-これが重要な場合はCBaseFilterから派生します)。私はこのコードを書きます:

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

メソッド呼び出しを行おうとすると、例外がスローされます。少し調べてみると、valを逆参照すると(val自体は有効のようです... 0x0777fc90のようなものです)、0xcdcdcdcdが含まれていることがわかりました。周りを見回したところ、これはメモリがヒープに割り当てられているが、初期化されていないことを示しているようです。

どういう意味ですか?!newの呼び出しはどのように成功しますか(val!= NULL)、それでもメモリはそれへのポインタを持つのに十分に初期化されていませんか?基本クラスの初期化の一部で問題が発生した可能性はありますか?もしそうなら-私は何を探していますか?

4

1 に答える 1