Board.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
Board.cpp
#include "Board.h"
Board::Board(bool fill)
{
...
};
дает мне ошибку: 'Совет' не называет тип. Скомпилирован с gcc.
EDIT:
Кодекс составлен после того, как я был закомментирована #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
Что делает 'шт.h'контейнер? Покажите нам контент. Похоже на случай кругового '# includes'. – Nawaz
Имеет ли 'штука.h' некоторые ссылки на' Board' или что-то еще интересное? Ошибка может быть там. – DUman
Эта точка с запятой ';' не требуется после определения конструктора 'Board :: Board' –