поэтому у меня есть вектор пар указателей в c ++:
vector<pair<Move *,Piece *> > moveList;
, где Move - это объект, а Piece - это объект ... Piece имеет переменные класса type и side
поэтому я добавляю материал в moveList:
pair <Move *, Piece *> pr (&m,&(p));
moveList.push_back(pr);
, где m - объект Move, а p - объект Piece
, но всякий раз, когда я вызываю метод moveList.back (), для некоторыхпричина, по которой он будет изменять значения Piece
, поэтому я должен
Move * j = moveList.back().first;
Piece должен иметь значение переменной "type", установленное в 'X'
, но когда я отлаживаюполучается, что сразу после строки выше, по какой-то причине, значение переменной типа "Piece" устанавливается на какое-то сумасшедшее число, такое как -56 '\ 310' .....
что я делаюне так?
РЕДАКТИРОВАТЬ
Кроме того, MoveList устанавливается как переменная класса
, и продвижение в moveList и получение back () из moveList были выполнены для различных методов в этомкласс