急!VC2005/DX9中的D3DXVECTOR3数组问题

来源:百度知道 编辑:UC知道 时间:2024/05/11 04:57:03
D3DXVECTOR3 Vpoint[8];//建立坐标数组
(-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.0f, 1.0f);
( 1.0f, 1.0f, 1.0f);
( 1.0f, -1.0f, 1.0f);
之后如何把这些数据加入到数组中?试验了许多方法都报错,
D3DXVECTOR3 Vpoint[]={
{-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.0f, 1.0f},
{ 1.0f, 1.0f, 1.0f},
{ 1.0f, -1.0f, 1.0f}};
报错:
1>h:\my\direct3d\MY_INIT.h(18) : error C2552: 'Vpoint' : non-aggregates cannot be initialized with initializer list
1> 'D3DXVECTOR3' : Types with a base are not aggregate

已经成功了。但使用的是笨方法,把数组写成了D3DXVECTOR,在之后的程序里再转换为D3DXVECTOR3。分已经放出来了,如果有能够直接做出D3DXVECTOR3数组的,150分就给你。

您好,您的问题提问在“百度知道 > 电脑/网络 > 程序设计 > VC++”更好一些,那里有专门搞VC的高手,对OpenGL好DX都比较熟悉,C/C++板块对VC熟悉的不一定多。祝您好运!

这样用:
D3DXVECTOR3 Vpoint[8]={
D3DXVECTOR3(-1.0f, -1.0f, -1.0f),
D3DXVECTOR3(-1.0f, 1.0f, -1.0f),
D3DXVECTOR3(1.0f, 1.0f, -1.0f),
D3DXVECTOR3(-1.0f, -1.0f, 1.0f),
D3DXVECTOR3(-1.0f, 1.0f,1.0f),
D3DXVECTOR3(-1.0f, 1.0f, 1.0f),
D3DXVECTOR3(1.0f, 1.0f, 1.0f),
D3DXVECTOR3(1.0f, -1.0f, 1.0f)};