访问冲突写入位置 0x00000000
当应用程序到达这些代码行时:
ID3D11ShaderResourceView* tempMeshSRV;
wstring MediaFilePath = DefaultPath + fileNamePath;
hr = D3DX11CreateShaderResourceViewFromFile( d3d11Device, MediaFilePath.c_str(), NULL, NULL, &tempMeshSRV, NULL );
我收到以下错误:
Game.exe 中 0x011428b5 处未处理的异常:0xC0000005:访问冲突写入位置 0x00000000。
它工作正常,直到我添加“wstring MediaFilePath = DefaultPath + fileNamePath;”线。它尝试加载的资源肯定位于正确的位置。
When the application reaches these lines of code:
ID3D11ShaderResourceView* tempMeshSRV;
wstring MediaFilePath = DefaultPath + fileNamePath;
hr = D3DX11CreateShaderResourceViewFromFile( d3d11Device, MediaFilePath.c_str(), NULL, NULL, &tempMeshSRV, NULL );
I get the following error:
Unhandled exception at 0x011428b5 in Game.exe: 0xC0000005: Access violation writing location 0x00000000.
It was working fine until I added the "wstring MediaFilePath = DefaultPath + fileNamePath;" line. The resource it is trying to load is definitely in the correct location.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
DefaultPath 和 fileNamePath 的类型是“wstring”还是“const wchar_t*”?如果它们是“const wchar_t*”,那么添加它们将不会执行您想要的操作。 (它将添加两个指针值)。
Do DefaultPath and fileNamePath have type "wstring" or "const wchar_t*"? If they're "const wchar_t*", then adding them won't do what you want it to. (It'll add the two pointer values).