CTile me = this->tiles[curLine][curCol];
Вот проблема. me
является копией исходного объекта tiles[curLine][curCol]
, поэтому все, что вы делаете с me
, не отражается в исходном объекте. Оригинальный объект остается неизменным, даже если вы делаете me.setType(1)
. Я уверен, что вы этого не хотели.
Итак, исправление: используйте ссылку как:
CTile & me = this->tiles[curLine][curCol];
// ^ note this
me.setType(1);
Или еще лучше, вы можете просто сделать это:
tiles[curLine][curCol].setType(1); //"this" is implicit!