в данный момент пытаюсь сделать скайбокс используя грунт lib. Тем не менее, я получаю эти две ошибки и понятия не имею, почему или что нужно сделать, чтобы их исправить … Если кто-то может предложить какую-либо помощь или предложения, будет принята с благодарностью!
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 :: list не имеет определенного оператора [], он не предназначен для этого. Если вам нужен доступ к каждому элементу, я рекомендую использовать вместо него std :: vector с оператором [].
Других решений пока нет …