當前試圖使用土壤庫創建天空盒。但是,我得到這兩個錯誤,不知道爲什麼或如何解決它們...如果有人可以提供任何幫助或建議,將不勝感激!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(不可搜索)。謝謝 –