構造体のCOMポインタを格納する私のプログラムは、私は構造体へのCOMポインタを格納しようとするたびにクラッシュし、その後、元のポインタを使用しようとしています。私は何が間違っているかを正確に伝えるためにデバッグアクセス権を持っていません。が
pRend->cp = cpRT;
ID2D1SolidColorBrush *scBrush;
ERF(cpRT->CreateSolidColorBrush(D2D1::ColorF(D2D1::ColorF::CornflowerBlue), &scBrush));
CreateSolidColorBrushでクラッシュします。しかし、私がpRend-> cp = cpRTをコメントアウトすると、それはしません。 ところで、pRend-> cpとcpRTはID2D1HwndRenderTarget *タイプです。
はいに置き換えなければなりません。 varは、ヒープ(mallocから)または別の変数(var =&data_var)のいずれかにターゲットを割り当てるまで、どこにでもポイントしません。ただちに使用すれば、残りの値に応じてメモリのランダムビットを上書きし、クラッシュする可能性があります。 – puetzk
うわー私はそれを知らなかったO_O – scrutr
mallocを使わないでください。あなたの構造体に新しいを使用してください。この方法でdelete(freeではない)を呼び出すと、スマートポインタのデストラクタが呼び出されます。 – jmucchiello