vector - 初始化 Direct3D 向量

标签 vector direct3d9 initializing

我用它来初始化 Directx 向量。

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

即使我尝试不执行数组,我总是会遇到相同的错误:

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

我尝试做 double ,但遇到了类似的错误

最佳答案

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 };

关于vector - 初始化 Direct3D 向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12443415/

相关文章:

c++ - DirectX alpha 掩蔽

android - 来自 Logcat 的标记 :"szipinf"和文本 :"Initializing inflate state"的日志的含义是什么

根据另一个向量的索引替换向量元素

c++ - std::vector::erase 的时间复杂度

c++ - 来自 D3D 显示适配器 ID 的描述性监视器名称

direct3d - D3D9 64 位调试运行时

javascript - 为什么当我在事件监听器中时我的变量会初始化?

C/C++ : Why is it impossible to declare a pointer in loop initialization

c++ - 为 vector 的 vector 分配内存

function - Mapcat 是如何工作的?