Функция, которая не изменяет значениеC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Функция, которая не изменяет значение

Сообщение Anonymous »

Я кодирую 2D -двигатель, и вот моя проблема:
Каждая плитка имеет «текстуру» (0: сетка, 1: трава и т. Д.)

Код: Выделить всё

maps[currentMapID].getLayerArray()[l].getTileArray()[t].setTexture(currentSelectedTexture);
(l, t и т. Д. ... из -за 'for' loop.)

Код: Выделить всё

void tile::setTexture(int t)
{
numTexture = t;
}
< /code>
Этот код полностью работает при создании тестовой плитки. < /p>
Структура моего кода (классы): < /p>
Map > layer > tile. => all of them in a class which handle graphics.
Я подозреваю, что проблема, возникающая из этого (и то же самое для класса карты , каждый из них имеет std :: vector и аналогичная функция ->):

Код: Выделить всё

std::vector layer::getTileArray()
{
return tiles;
}
Это возвращает мне std :: vector из моего класса или копии? Если это копия, это может объяснить, что номер текстуры плитки остается прежним. Указатели? Список литературы? (Я не понимаю этого)
Я также проверил CurrentselectedTexture , и там нет проблем.

Подробнее здесь: https://stackoverflow.com/questions/337 ... -the-value
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»