【发布时间】:2015-01-27 18:08:38
【问题描述】:
注意:这个问题只涉及 C++ 中的映射和数组。只是碰巧我使用的是 OpenGL,所以不应该阻止那些没有 OpenGL 知识的人继续阅读。
我正在尝试将 C 样式的数组放入 C++ std::map 中,以供以后在设置颜色时使用。
const map<int, GLfloat[3]> colors = { //
{1, {0.20. 0.60. 0.40}}, //
... // This produces an error.
{16, {0.5, 0.25, 0.75}} //
}; //
...
int key = 3;
glColor3fv(colors.at(key));
这不会编译,因为:
Semantic Issue
Array initializer must be an initializer list
...但我确实指定了一个初始化列表,不是吗?为什么这不起作用?
【问题讨论】: