2

これを使用して、Directx ベクトルを初期化しています。

LPD3DXVECTOR3 sat_map[] = 
{
    { -1.5f,  0.0f,  1.5f},
    {  1.5f, -1.5f,  1.5f},
};

配列を実行せずに試しても、常に同じエラーが発生します。

エラー C2440: '初期化中': 'float' から 'LPD3DXVECTOR3' に変換できません

doublesをやってみましたが、同様のエラーが発生しました

4

1 に答える 1

2

LPD3DXVECTOR3はへのポインターD3DXVECTOR3であり、ポインターを構造体で初期化することはできません (構造体へのポインターのみ)。したがって、あなたはただ欲しい

D3DXVECTOR3 sat_map[] = 
{
    { -1.5f,  0.0f,  1.5f},
    {  1.5f, -1.5f,  1.5f},
};

また

D3DXVECTOR3 v1 = { -1.5f,  0.0f,  1.5f};
D3DXVECTOR3 v2 = {  1.5f, -1.5f,  1.5f};
LPD3DXVECTOR3 sat_map[] = { &v1, &v2 };
于 2012-09-16T00:11:58.170 に答える