我尝试将旧的DirectX代码迁移到Visual Studio 2013中的新代码。
在Scene.cpp中我有函数
void AddInstance(Instance 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_Orientation;
,我不明白如何解决这个问题。
我找到了答案说DirectX :: XMFLOAT4X4,但我宁愿不
我猜我可以换掉std :: vector,但我认为这也只是绕过这个问题。
解决我问题的任何答案都会让我的一天<3
答案 0 :(得分:3)
DirectX::XMMATRIX __declspec(align('16')) won't be aligned
虽然这个问题与这个问题的答案略有不同,但解决方案是相同的 - 通过const引用将Instance
传递给AddInstance函数。
void AddInstance(const Instance& aInstance);