2011-07-14 25 views
0

如何提供一個具有構造函數作爲工會一部分的類?如何爲工會的成員提供一個簡單的類構造函數?

我讀過任何具有簡單構造函數的類都可以成爲聯合體的一部分。特別是對於C++ 0x,我認爲工會應該是不受限制的。爲什麼這個float4班不適合?我怎樣才能做到這一點?

struct float4 
{ 
    union 
    { 
     struct { float z, y, x, w; }; 
     float v[4]; 
     __m128 xmm; 
    }; 

    inline float4() { } 
    inline float4(float x, float y, float z, float w) : 
     xmm(_mm_setr_ps(z, y, x, w)) { } 
}; 

struct float44 
{ 
    union 
    { 
     float v[16]; 
     __m128 xmm[4]; 
     struct { __m128 xmm1, xmm2, xmm3, xmm4; }; 
     struct { float4 row1, row2, row3, row4; }; 
    }; 
}; 

回答

0

VC2010沒有實現的C++ 0x的部分規格還沒有。

相關問題