1

基本的に、次のような SIMD 構造のラッパーがあります。

class MyClass
{
public:
   MyClass();

   __m128 SIMD;
};

Microsoft の DirectXMath SIMD 数学ライブラリでは、次のようなことができることがわかりました。

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

ここで、XMVECTORは次のようにラップします。

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

また、配列でユニオンを使用しようとしましたが、それでも同じエラーが発生します。

4

1 に答える 1

3

集計の初期化を使用できるようにするには、ユーザー定義の ctor を削除し、すべてのメンバーがパブリックであることを確認する必要があります。

struct MyClass
{
   __m128 SIMD;
};

集約とは何か、初期化がどのように機能するかを説明している集約の初期化をお読みください。

于 2013-06-29T22:01:46.287 に答える