Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/161.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ XMMATRIX和形式参数,带有uu declspec(align(';16';))赢得';不一致_C++_Visual Studio 2013_Directx - Fatal编程技术网

C++ XMMATRIX和形式参数,带有uu declspec(align(';16';))赢得';不一致

C++ XMMATRIX和形式参数,带有uu declspec(align(';16';))赢得';不一致,c++,visual-studio-2013,directx,C++,Visual Studio 2013,Directx,我已尝试在Visual Studio 2013中将旧的DirectX代码移植到新的DirectX代码中 在Scene.cpp中,我具有以下功能 void AddInstance(实例aInstance) 这只是一个推回: m_vecInstances.push_back(aInstance); 这会给出一个错误,即: Error 1 error C2719: 'aInstance': formal parameter with __declspec(align('16')) won't

我已尝试在Visual Studio 2013中将旧的DirectX代码移植到新的DirectX代码中

在Scene.cpp中,我具有以下功能

void AddInstance(实例aInstance)

这只是一个推回:

m_vecInstances.push_back(aInstance);
这会给出一个错误,即:

Error   1   error C2719: 'aInstance': formal parameter with __declspec(align('16')) won't be aligned
原因是Instance.h成员具有
DirectX::XMMATRIX m_方向我不知道如何解决这个问题。
我发现答案是DirectX::XMFLOAT4X4,但我不这么认为

我猜我可以换掉std::vector,但我认为这也只是绕着问题走

任何能解决我问题的答案都会让我开心

虽然与此问题的答案略有不同,但解决方案是相同的-通过常量引用将
实例
传递到AddInstance函数中

void AddInstance(const Instance& aInstance);

什么是类型
实例
?现在的实例只是:
类实例{public:Instance();~Instance();void Update();void Render();private:DirectX::XMMATRIX m_Orientation;}它确实解决了错误消息,但是我“有时”会遇到访问冲突,我想这是因为我使用的是std::vector:(我认为这会导致MMX/SSE指令上的潜在对齐异常,而不是访问冲突。无论如何,如果这回答了问题,请接受它;),再问一个关于坠机的问题。