所以我有我一生中见过的最奇怪的错误之一。我买了一本带有一些 [示例代码] 的 DirectX 11 书:http ://www.d3dcoder.net/d3d11.htm 我很确定在某个时间点我设法编译并运行了每个示例应用程序,但现在,我在运行时出现“访问冲突写入位置 0xCCCCCCCC”错误。
现在,这发生在以下行之一:
ShadowsApp::ShadowsApp(HINSTANCE hInstance) : D3DApp(hInstance)
{
mMainWndCaption = L"Shadows Demo"; <- Crashes here !!!
mLastMousePos.x = 0;
mLastMousePos.y = 0;
...
}
mMainWndCaption 在 .h 中这样声明
std::wstring mMainWndCaption;
并在 ShadowsApp 继承的类的构造函数中设置默认值
D3DApp::D3DApp(HINSTANCE hInstance) :
mhAppInst(hInstance),
mMainWndCaption(L"D3D11 Application"),...
我认为,这已经很奇怪了......现在最奇怪的部分是当我在 d3dApp.h 中声明任何类型的任何变量时,我不再有“访问冲突写入位置 0xCCCCCCCC”错误,一切都构建并运行完美。作为一个 C# 程序员,这对我来说完全没有意义。在一个类中声明一个随机变量怎么能“修复”这样的事情?!
任何建议将不胜感激:-)