struct CUSTIOMSTRUCT
{
FLOAT x, y, z;
DWORD color;
};
CUSTOMSTRUCT MyVertex = {320.0f, 50.0f, 1.0f, 0xFF00FFCC};
我不明白那一部分:
{320.0f, 50.0f, 1.0f, 0xFF00FFCC};
我必须把它们整理好吗?
抱歉,我是C#家伙。
答案 0 :(得分:5)
是的,你必须把它们整理好。 C语言的C99版本提供了“标记的”聚合初始值设定项,它允许一个“把它们”排序,但它不是在C ++中(还是?)。
答案 1 :(得分:2)
是的,它们必须按照声明的顺序排列,所以{x,y,z,color}。
答案 2 :(得分:-5)
更确切地说,
{}运算符返回一些内存字节, 所以当你使用
时{320f,50f,1f,0xFF00FFCC} 它返回一个连续的16字节内存,然后通过" memcpy"对struct变量的命令。
因此,如果你把它们排除在外,程序编译得很好,但不能正常工作。
更好的选择是使用构造函数。