У меня есть класс State
с типом данных string
с именем moveType
. При реализации моего кода я вызываю сеттер void setMoveType(string _moveType);
, и он реализован просто moveType = _moveType;
Когда я вызываю свой геттер string getMoveType() const;
в экземпляре State
и выводю его в cout, ничего не отображается.
Я слежу за входом в функцию getMoveType()
. Параметр действительно имеет правильное значение, но, похоже, он вообще не устанавливается.
У кого-нибудь есть идеи? Я чувствую, что это что-то простое / тривиальное в C ++, которое я просто полностью забыл.
string State::getMoveType() const {
return moveType;
}
void State::setMoveType(string move_type) {
cout << "In setMoveType and param = " << move_type << endl;
moveType = move_type;
}
std::cout << vec_possibleSuccessors[i].getMoveType() << endl; // within loop;
vector<State> vec_possibleSuccessors;
if (_minState.canMoveUp()) {
up = _minState.moveUp();
up.setMoveType("UP");
up.setF(f(up));
vec_possibleSuccessors.push_back(up);
}
В приведенном выше коде _minState и up являются экземплярами State
. Кроме того, я убедился, что мой конструктор копирования и оператор присваивания были изменены для включения moveType
присваиваний.