2

我正在使用它来初始化 Directx 向量。

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

即使我尝试不做数组,我总是得到同样的错误:

错误 C2440:“正在初始化”:无法从“浮点”转换为“LPD3DXVECTOR3”

我试着做双打,但我遇到了类似的错误

4

1 回答 1

2

LPD3DXVECTOR3是指向 a 的指针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 回答