1

ボード.h

#ifndef BOARD_H
#define BOARD_H

#include "piece.h"


class Board
{
    public:
        Board(bool);
        //Piece * getPiece(int x, int y){return &pieceboard[x][y];}
};

#endif

ボード.cpp

#include "Board.h"

Board::Board(bool fill)
{
...
};

エラーが表示されます:「ボード」はタイプに名前を付けていません。gccでコンパイルしました。

編集:

#include "piece.h" をコメントアウトした後にコンパイルされたコード。どうやら、宣言されていないクラスがいくつか含まれていたようです。

#ifndef PIECE_H
#define PIECE_H

#include "Board.cpp"

class Piece{

    public:
        virtual bool checkMove(int, int) =0;
        bool movePiece(int, int);
        int getX(){return x;}
        int getY(){return y;}
        char getChar(){return image;}
        bool getWhite(){return isWhite;}

    protected:
        int x, y;
        char image;
        bool isWhite;
    };

    class Pawn : public Piece{
    public:
        Pawn(bool, int, int, Board); // ERROR: 'Board' has not been declared
        bool checkMove(int, int);
    private:
        Board * board; };            // ERROR: 'Board' does not name a type

#endif
4

1 に答える 1

-3

コードは問題ありません。エラーは「piece.h」に潜む何かによるものだと思います

于 2013-08-05T17:06:06.793 に答える