9

次のように float32x4_t を初期化できます。

const float32x4x4_t zero = { 0.0f, 0.0f, 0.0f, 0.0f };

しかし、このコードはエラーIncompatible types in initializer を作成します:

const float32x4x4_t one =
{
    1.0f, 1.0f, 1.0f, 1.0f,
    1.0f, 1.0f, 1.0f, 1.0f,
    1.0f, 1.0f, 1.0f, 1.0f,
    1.0f, 1.0f, 1.0f, 1.0f,
};

float32x4x4_t は、次のように構築された 4x4 行列です。

typedef struct float32x4x4_t
{
    float32x4_t val[4];
}
float32x4x4_t;

この const 構造体を初期化するにはどうすればよいですか?

4

1 に答える 1

11
const float32x4x4_t nameOfVariableHere =
{{
    {1.0f, 1.0f, 1.0f, 1.0f},
    {1.0f, 1.0f, 1.0f, 1.0f},
    {1.0f, 1.0f, 1.0f, 1.0f},
    {1.0f, 1.0f, 1.0f, 1.0f}
}};

括弧の第 1 レベルは構造体用です。
2 番目のレベルは、 の配列用ですfloat32x4_t
3番目のレベルはfloat32x4_tそれ自体です。

于 2010-05-01T12:12:49.323 に答える