список — код ошибки C ++ E0349, C2676

в данный момент пытаюсь сделать скайбокс используя грунт 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

Решение

Я думаю, что вы неправильно поняли некоторые вещи здесь.

1) push_back вставляет только один элемент в контейнер, например: push_back (6) вставит 6 в контейнер, а не 6 элементов, как вам нужно.

2) std :: list не имеет определенного оператора [], он не предназначен для этого. Если вам нужен доступ к каждому элементу, я рекомендую использовать вместо него std :: vector с оператором [].

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]