我在一个函数中设置两个 XMMATRIX** 类型的变量时遇到了一些麻烦。函数原型如下所示:
bool ViewportFactory::CreateViewport(CanvasHandle* canvasHandlePtr, ViewportHandle** outViewportHandlePtr, DirectX::XMMATRIX** outProjectionMatrix, DirectX::XMMATRIX** outViewMatrix)
然后,稍后在函数定义中,我有以下两行:
*outProjectionMatrix = new DirectX::XMMATRIX(0.0f, 0.1f, /* ... */, 3.3f);
*outViewMatrix = new DirectX::XMMATRIX(0.0f, 0.1f, /* ... */, 3.3f);
但是,在打开了优化的 Win32 构建中,这些行给了我访问冲突。
开启优化后,很难准确推断问题出在哪里,但如果我更改这些行以将值设置为nullptr
,那么问题就会消失。