私は最近、単純な 2D ゲーム エンジンを完成させました。私のプロジェクトのスプライトモジュールには、例外があります
「AI.exe の 0x00CE4A75 で未処理の例外: 0xC0000005: アクセス違反の読み取り場所 0xCCCCCCCC.」
すべてが同じように初期化および割り当て解除されるため、何が原因かわかりません。そして、この例外はif( m_inputLayout ) m_inputLayout->Release()で発生するようです。他のすべては問題ありません。コードはすぐ下にあります。
CAIGESprite::~CAIGESprite(void)
{
if( m_mvpCB ) m_mvpCB->Release();
if( m_alphaBlendState ) m_alphaBlendState->Release();
if( m_colorMapSampler ) m_colorMapSampler->Release();
if( m_colorMap ) m_colorMap->Release();
if( m_vertexBuffer ) m_vertexBuffer->Release();
if( m_inputLayout ) m_inputLayout->Release();
if( m_solidColorPS ) m_solidColorPS->Release();
if( m_solidColorVS ) m_solidColorVS->Release();
if( m_textureFile ) delete m_textureFile;
if( m_shaderFile ) delete m_shaderFile;
m_shaderFile = nullptr;
m_textureFile = nullptr;
m_solidColorVS = NULL;
m_solidColorPS = NULL;
m_inputLayout = NULL;
m_vertexBuffer = NULL;
m_colorMap = NULL;
m_colorMapSampler = NULL;
m_alphaBlendState = NULL;
m_mvpCB = NULL;
}
また、それぞれの内容を確認したところ、すべて空のUnable to read memoryであるのに、なぜ m_inputLayout が異なり、例外が発生するのでしょうか? 考えられる理由は何ですか。
リクエストがあれば、さらにコードを投稿します。