Erreur: '...' n'est pas le nom d'un type de

J'avais un projet de travail. Après avoir réaménagé un peu de code, j'ai essayé de recompiler mon projet et puis bizarre, tout a commencé. Regardez cet extrait de l'compilateur de sortie. Je suis la compilation à partir d'Eclipse sous Windows avec 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

conseil d'administration.h, ligne 18:

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

Généralement quand ça arrive, j'ai juste à ajouter quelques inclusions j'ai oublié de le faire. Mais en fait j'ai compris pièce.h en haut de conseil d'administration.h.

Ma deuxième pensée a été que le compilateur doit avoir généré une erreur quelque part dans le Piece classe qui serait la cause de la compilateur ignorer l'existence de la classe, ce qui en retour pourrait provoquer des erreurs. Dans ce cas, je regarderais la première erreur du compilateur, qui je devrait être quelque chose à propos d'une erreur dans piece.cpp ou pièce.h. Mais la première erreur, ce n'est pas Piece à tous, alors j'ai regardé si l'Éclipse avait marqué les erreurs dans piece.cpp ou pièce.h. Non, pas une ligne rouge dans la vue. J'ai seulement vu quelques-uns de ces inexpliquée de marqueurs jaunes.

Une dernière chose que j'ai vérifié, c'est que chaque fichier d'en-tête figurant à l'inclusion des gardes, ce qu'ils firent.

Comment puis-je obtenir vers le bas de cette erreur? J'ai poster des extraits de code, mais alors je serais probablement jusqu'à la fin de coller tout le code (que je ne peut pas le faire) parce que le contexte additionnel peut être nécessaire.

Modifier: voici conseil d'administration.h jusqu'à la ligne 18. (J'ai laissé de côté un grand commentaire, ce qui explique pourquoi ce bloc de code est plus petit que ce que vous attendez.)

#ifndef BOARD_H_
#define BOARD_H_
#include "piece.h"

class Board {
public:
    //Prototypes for externally defined functions
    Board();
    ~Board();
    void PrintBoard();
    Piece* GetPieceAt(int row, int col) const;
  • Au moins post-tête pour le conseil.h jusqu'à la ligne 18 si la réponse ci-dessous par AndreyT n'aide pas
InformationsquelleAutor Pieter | 2010-10-18