当前试图使用土壤液体制作天箱。但是,我遇到了这两个错误,不知道为什么或如何解决这些错误……如果有人能提供任何帮助或建议将不胜感激!
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错误发生的地方,说方括号不匹配操作员?但是我认为这是如何使用列表的方法?再次感谢任何帮助!
我认为您在这里误解了一些事情。
1)push_back仅将一个元素推入容器,例如:push_back(6)将将6推入容器,而不是需要的6个元素。
2)std ::列表没有定义[]操作员,而是为此。如果您需要访问每个元素,我建议您使用std :: vector代替具有[]运算符的vector。