【发布时间】:2019-05-19 14:16:06
【问题描述】:
我在传递给 Piece 构造函数的 KING 和 COLOR 参数上遇到错误。这是我的代码,我正在制作一个带有 main 类的国际象棋游戏,然后 tehre 是一个游戏类,它制作一个棋盘对象,棋盘玩游戏,并将方块和棋子作为组件对象。他们都在建立关联关系
/////////////////////////PIECE HEADER///////////////////
enum PIECETYPE { KING, QUEEN, ROOK, BISHOP, KNIGHT, PAWN };
enum COLOR { BLACK, WHITE };
class Square;//forward declaration
class Piece
{
PIECETYPE type;
COLOR color;
...};
/////////////////////PIECE CPP////////////////////////
#include "Piece.h"
#include"Square.h"
Piece::Piece()
{
}
Piece::Piece(PIECETYPE typ, COLOR clr){
type = typ;
color = clr;
pSquare = nullptr;
}
//////////////////////BOARD HEADER: COMPOUNDCLASS////////////////////////
#include"Piece.h"``
class Board
{
Square square[8][8];
Piece wK(KING, WHITE);
Piece bK(KING, BLACK);};
【问题讨论】:
-
对于编译器来说,那些看起来像函数声明。您可以拥有 Piece 成员,但您需要在构造函数中初始化它们。
-
只需在声明中使用大括号构造即可:
Piece wK{KING, WHITE}; -
你用的是什么编译器?什么版本?
-
我正在使用 VS 2015