2013-06-29 48 views
0

基本上我有圍繞SIMD結構是這樣的包裝:錯誤:初始化與「{...}」不允許類型的對象「常量MyClass的」

class MyClass 
{ 
public: 
    MyClass(); 

    __m128 SIMD; 
}; 

我看到,在在DirectXMath SIMD數學庫從微軟,他們可以做的事情一樣:

const XMVECTOR SinCoefficients0 = {-0.16666667f, +0.0083333310f, -0.00019840874f, +2.7525562e-06f}; 

其中XMVECTOR只是環繞是這樣的:

union 
{ 
    float f[4]; 
    __m128 entry; 
}; 

我也嘗試使用一個數組的聯合,但它仍然給我同樣的錯誤。

回答

3

爲了能夠使用集合初始化,您需要刪除用戶定義的構造函數,並確保所有成員都是公開的:

struct MyClass 
{ 
    __m128 SIMD; 
}; 

請閱讀aggregate initialization這也解釋了一個聚合是什麼以及如何初始化工作。

相關問題