Jeg er igang med, at lave et tekst beseret kryds og bolle spil. I programmet har jeg 3 klasser. En Game klasse, en Board klasse og en Player klasse.
Game klassen indeholder et Board object ved navn board, og en Player vector bestående af to players. Da Player klasserne skal kunne ændre i board'et har de en pointer til en board klasse. Player'nes Constructor tager en Board pointer som argument. Den board pointer bliver så kopieret over i Player'nes Board pointer.
Her er noget kode(det er kun den del der har med problemet at gøre jeg poster):
Player.h
class Player
{
private:
string name;
char piece;
Board* board;
public:
Player(Board*);
Player.cpp
Player::Player(Board *b)
{
board = b;
}
Game.h
class Game
{
private:
Board board;
bool done;
vector<Player> players;
public:
Game();
Game.cpp
Game::Game() : players(2, &board)
{}
Problemet er nu, at når jeg i player klassen kalder:
void Player::turn() {
cout << name << "'s turn." << endl;
while(!*board->placePiece(readInt(), readInt(), piece));
}
Får jeg fejlen: invalid type argument of `unary *'
I linjen med while lykken.
Har ingen ide om hvad problemet er, vis i skal bruge mere kode så sig til
På forhånd tak.