尝试创建GLFloat类型的数组,其中包含GLFloat类型的数组。
GLfloat p0[] = { -3, 0, -3};
GLfloat p1[] = { 3, 0, -3};
GLfloat points[2][3] = {p0, p1};
错误消息:GLFloat类型不能用于GLFloat类型的实体
答案 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