XMMATRIX 和带有 __declspec(align('16')) 的形式参数不会对齐
XMMATRIX and formal parameter with __declspec(align('16')) won't be aligneD
我在 Visual Studio 2013 年尝试将旧的 DirectX 代码迁移到更新的代码。
在Scene.cpp中我有函数
void AddInstance(Instance aInstance);
这只是一个 push_back:
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
DirectX::XMMATRIX __declspec(align('16')) won't be aligned
虽然情况与这个问题的答案略有不同,但解决方案是相同的 - 通过 const 引用将 Instance
传递给 AddInstance 函数。
void AddInstance(const Instance& aInstance);
我在 Visual Studio 2013 年尝试将旧的 DirectX 代码迁移到更新的代码。
在Scene.cpp中我有函数
void AddInstance(Instance aInstance);
这只是一个 push_back:
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
DirectX::XMMATRIX __declspec(align('16')) won't be aligned
虽然情况与这个问题的答案略有不同,但解决方案是相同的 - 通过 const 引用将 Instance
传递给 AddInstance 函数。
void AddInstance(const Instance& aInstance);