C++错误代码E0349,C2676

当前试图使用土壤库创建天空盒。但是,我得到这两个错误,不知道为什么或如何解决它们...如果有人可以提供任何帮助或建议,将不胜感激!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);

}

Error message

如果我说faces[i]这正是发生E0349错误说,方括号不匹配操作?但我认为这是如何使用列表? 再次感谢您的帮助!

回答:

我想你在这里误解了一些东西。

1)push_back只将一个元素推入一个容器,例如:push_back(6)会将6推入容器,而不是6个元素。

2)std :: list do not没有定义[]运算符,它不是为此而定义的。如果您需要访问每个元素,我建议您使用std :: vector,而不是使用[]运算符。

以上是 C++错误代码E0349,C2676 的全部内容, 来源链接: utcz.com/qa/265528.html

回到顶部