У меня есть такой класс:
class Player
{
public:
Player(Board * someBoard);
void setSide(char newSide);
protected:
Board * board;
char side;
};
и его реализация такова:
Player::Player(Board * someBoard)
{
board = someBoard;
side = '0';
}
void Player::setSide(char newSide)
{
side = newSide;
}
Теперь у меня есть другой класс, унаследованный от него:
class HumanPlayer : public Player
{
public:
HumanPlayer(Board * someBoard);
};
И его короткая реализация такова:
HumanPlayer::HumanPlayer(Board * someBoard) : Player(someBoard)
{
}
Теперь проблема в том, что строка side = '0';
останавливает программу (окно становится белым в Windows 7, не уверенный, означает ли это, что оно зависло или зависло). Закомментирование заставляет программу работать нормально (и можно закомментировать, потому что переменная еще нигде не используется).
Что является причиной ошибки и как ее исправить?
EDIT!
После распечатки некоторого материала на fstream
программа неожиданно сработала. Я попытался закомментировать распечатку. Это все еще работало. Я попытался удалить код отладки, который я добавил. Это все еще работало. Так что теперь мой код точно такой же, как перечисленный выше, но теперь он волшебным образом работает.
Так что мне теперь делать? Игнорировать аномалию? Может быть, это ошибка компилятора?