数组中的C ++ GLFloat数组

时间:2018-10-21 17:53:51

标签: c++

尝试创建GLFloat类型的数组,其中包含GLFloat类型的数组。

GLfloat p0[] = { -3, 0, -3};
GLfloat p1[] = {  3, 0, -3};

GLfloat points[2][3] = {p0, p1};

错误消息:GLFloat类型不能用于GLFloat类型的实体

2 个答案:

答案 0 :(得分:0)

您可以直接创建矩阵。

GLfloat points[2][3] = {{-3, 0, -3}, { 3, 0, -3}};

答案 1 :(得分:0)

如果您想使用支撑初始化,那就可以了

points[2][3] = { {-3, 0, -3}, {3, 0, -3} };

为什么您的方法行不通:

points[2][3] = { p0, p1 };

发生的情况是p0衰减到float*,p1也衰减,而您不能将其分配给float

另一种选择是使用memcpy

std::memcpy(&points[0], &p0, 3 * sizeof(float));
std::memcpy(&points[1], &p1, 3 * sizeof(float));

但是我不喜欢所有这些地址操作,也不喜欢使用C ++的memcpy