当前试图使用土壤库创建天空盒。但是,我得到这两个错误,不知道为什么或如何解决它们...如果有人可以提供任何帮助或建议,将不胜感激!C++错误代码E0349,C2676
GLuint textureCon;
int widthX, heightY;
unsigned char* imageInfo;
std::list<int> faces;
faces.push_back(6);
glBindTexture(GL_TEXTURE_CUBE_MAP, textureCon);
for (GLuint i = 0; i < faces.size(); i++)
{
imageInfo = SOIL_load_image(faces[i], &widthX, &heightY, 0, SOIL_LOAD_RGB);
glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, GL_RGB, widthX, heightY, 0, GL_RGB, GL_UNSIGNED_BYTE, imageInfo);
}
如果我说faces[i]
这正是发生E0349错误说,方括号不匹配操作?但我认为这是如何使用列表? 再次感谢您的帮助!
请发布完整的错误消息,不只是编译器的代码数字。 –
无论如何,你只是没有阅读'std :: list'的文档。它不是一个随机访问容器,所以'operator []'没有意义,因此不存在。见例如http://en.cppreference.com/w/cpp/container/list找不到'operator []'。你可能实际上需要'std :: vector',99.9999%的人需要一个容器,而它*是一个带有'operator []'的随机访问容器。 (您可以使用迭代器和“advance”或算术或其他东西,在'std :: list'中的特定名义'索引'处获得该项目,但您可能并不真的想要这样做。) –
请提供错误消息为文字(可搜索)而不是png(不可搜索)。谢谢 –