質問する
6586 次
1 に答える
2
CMove
OK、まず、CBoard
との宣言が必要ですCDeadline
。他の問題を修正できるように、ダミーのものをいくつか追加しました。
namespace game {
struct CBoard {};
struct CDeadline {};
struct CMove {};
...
次に、構造体はその参照CPlayer::GameData
を初期化する必要があります。これは次のようになります。CBoard
const
class CPlayer{
struct GameData
{
GameData(const CBoard& board) : pBoard(board) {}
int mBoard[8][8];
const CBoard &pBoard;
};
public:
CMove Play(const CBoard &pBoard,const CDeadline &pDue);
private:
int GainsFromMoves(struct GameData gameData);
};
次に、.cc
ファイルでは、メンバー関数を定義するときに名前空間とクラス名が必要です。
namespace game
{
CMove CPlayer::Play(const CBoard &pBoard,const CDeadline &pDue)
{
GameData gameData(pBoard);
return CMove();
}
int CPlayer::GainsFromMoves(GameData gameData){
int test = 0;
return test;
}
} // namespace game
これにより、少なくとも次の単純なメインでエラーが解消されます。
int main()
{
game::CBoard b;
game::CDeadline d;
game::CPlayer p;
p.Play(b, d);
}
于 2012-09-12T07:31:24.120 に答える