Ошибка: "…" не называет тип

У меня был рабочий проект. После изменения кода я попытался перекомпилировать свой проект, но тут начали происходить странные вещи. Взгляните на этот отрывок из вывода компилятора. Я компилирую из Eclipse в Windows, используя MinGW G ++.

**** Build of configuration Debug for project Pract2 ****

**** Internal Builder is used for build               ****
g++ -O0 -g3 -Wall -c -fmessage-length=0 -omove.o ..\move.cpp
In file included from ..\/game.h:11:0,
                 from ..\/piece.h:10,
                 from ..\/move.h:10,
                 from ..\move.cpp:7:
..\/board.h:18:2: error: 'Piece' does not name a type

board.h , строка 18:

Piece* GetPieceAt(int row, int col) const;

Обычно, когда это происходит, мне просто нужно добавить некоторые включения, которые я забыл сделать. Но на самом деле я включил piece.h в начало board.h .

Вторая моя мысль заключалась в том, что компилятор должен был выдать ошибку где-то в Piece класс, который заставил бы компилятор игнорировать существование класса, что, в свою очередь, вызовет больше ошибок. В этом случае я бы посмотрел на первую ошибку компилятора, которая, как я ожидал, будет связана с ошибкой в ​​ piece.cpp или piece.h . Но первая ошибка вовсе не связана с Piece , поэтому я посмотрел, пометил ли Eclipse какие-либо ошибки в piece.cpp или piece.h . Нет, красной линии не видно. Я видел только несколько этих необъяснимых желтых маркеров .

Последнее, что я проверил, это то, что каждый файл заголовка содержал защиту включения, что они и сделали.

Как мне добраться до сути. это ошибка? Я бы разместил фрагменты кода, но тогда я бы, вероятно, вставил весь код (что я не могу сделать), потому что может потребоваться дополнительный контекст.

Изменить : вот доска. для написания 2D-игр?

14
задан Alon Gubkin 1 September 2013 в 12:38
поделиться