我有一段代码写在下面,我坚持下去。我以前用不同的编译器完成了它,现在我正在进入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,这意味着它有一个空指针,它正在尝试解决。我会记住,希望你也一样!