D3DXGetImageInfoFromFile生成Access违规写入位置错误

时间:2012-07-15 15:58:25

标签: directx

我有一段代码写在下面,我坚持下去。我以前用不同的编译器完成了它,现在我正在进入Visual C ++。每次尝试调用此函数时,都会弹出此错误:

  

SeaQuest.exe中0x0076e124处的未处理异常:0xC0000005:   访问冲突写入位置0xccccccd0。

此外,我已正确编写D3DXGetImageInfoFromFileA的语法。

class Texture
{
private:
  D3DXIMAGE_INFO m_ImageInfo;
public:
  bool GetImageInfo(char* filename);
};

bool Texture::GetImageInfo(char* filename)
{
  if((D3DXGetImageInfoFromFileA(filename, &m_ImageInfo)) != D3D_OK)
    return false; 
}

我还跟踪了DirectX调试输出,但它没有显示任何内容。

更新

现在我已经在GetImageInfo的实现中定义了一个D3DXIMAGE_INFO局部变量,并使其代替m_ImageInfo。有用!。我不知道我的私人会员有什么问题,Access violation writing就是这个问题。希望有人指导我。

ANSWER

我在另一个类中使用Texture类作为指针变量,原因是没有实例化指向新Texture类的指针,或者我可以使用非指针变量然后将类复制到其中但却失去了引用的好处。 0xC0000005接近于0,这意味着它有一个空指针,它正在尝试解决。我会记住,希望你也一样!

0 个答案:

没有答案