如何提供一个将构造函数作为联合的一部分的类?
我已经读过任何具有普通构造函数的类都可以成为联合的一部分。特别是对于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 :(得分:0)
VC2010尚未实现C ++ 0x规范的那部分。