c ++类中的错误不知道类型

时间:2016-11-22 01:05:25

标签: c++ include

我从星期五开始遇到一个问题,我正在打破我的脑袋,搜索网络,堆栈溢出,什么都没有,问题是,当我包括课程时,我不认识这种类型,我不知道为什么发生了,并重复所有内容,将所有内容都包含在一个单独的文件中,然后将该文件包含在类中,不包括任何内容。

抱歉,我的英语不好!

In file included from /Volumes/Datos/Work/CLionProjects/Domino/DomEngine.cpp:5:
In file included from /Volumes/Datos/Work/CLionProjects/Domino/include/DomEngine.h:8:
In file included from /Volumes/Datos/Work/CLionProjects/Domino/include/Mesa.h:10:
/Volumes/Datos/Work/CLionProjects/Domino/include/Jugador.h:56:16: error: unknown type name 'Mesa'
    void jugar(Mesa *mesa);
               ^
In file included from /Volumes/Datos/Work/CLionProjects/Domino/Mesa.cpp:7:
In file included from /Volumes/Datos/Work/CLionProjects/Domino/include/Mesa.h:10:
/Volumes/Datos/Work/CLionProjects/Domino/include/Jugador.h:56:16: error: unknown type name 'Mesa'
    void jugar(Mesa *mesa);
               ^
In file included from /Volumes/Datos/Work/CLionProjects/Domino/main.cpp:1 error generated.
2:
In file included from /Volumes/Datos/Work/CLionProjects/Domino/include/Mesa.h:10:
/Volumes/Datos/Work/CLionProjects/Domino/include/Jugador.h:56:16: error: unknown type name 'Mesa'
    void jugar(Mesa *mesa);
               ^
make[3]: *** [CMakeFiles/Domino.dir/DomEngine.cpp.o] Error 1
make[3]: *** Waiting for unfinished jobs....
1 error generated.
1 error generated.
make[3]: *** [CMakeFiles/Domino.dir/main.cpp.o] Error 1
make[3]: *** [CMakeFiles/Domino.dir/Mesa.cpp.o] Error 1
In file included from /Volumes/Datos/Work/CLionProjects/Domino/Jugador.cpp:7:
In file included from /Volumes/Datos/Work/CLionProjects/Domino/include/Jugador.h:12:
/Volumes/Datos/Work/CLionProjects/Domino/include/Mesa.h:15:5: error: unknown type name 'Jugador'
    Jugador *primero, *ultimo;
    ^
/Volumes/Datos/Work/CLionProjects/Domino/include/Mesa.h:25:23: error: unknown type name 'Jugador'
    void crearJugador(Jugador * jugador);
                      ^
2 errors generated.
make[3]: *** [CMakeFiles/Domino.dir/Jugador.cpp.o] Error 1
make[2]: *** [CMakeFiles/Domino.dir/all] Error 2
make[1]: *** [CMakeFiles/Domino.dir/rule] Error 2
make: *** [Domino] Error 2

Jugador.h

#ifndef DOMINO_JUGADOR_H
#define DOMINO_JUGADOR_H

#include "config.h"
#include "Ficha.h"
#include "Equipo.h"
#include "Mesa.h"

using namespace std;

class Jugador {

private:
    string nombre;
    Jugador *siguiente;
    Jugador *anterior;
    Jugador *frente;
    Ficha *fichas[7];
    Equipo *equipo;

public:

    Jugador(const string &nombre);

    const string &getNombre() const;

    Jugador *getSiguiente() const;

    Jugador *getFrente() const;

    void setSiguiente(Jugador *siguiente);

    void setFrente(Jugador *frente);

    Jugador *getAnterior() const;

    void setAnterior(Jugador *anterior);

    void setFicha(int index, Ficha *ficha);

    void verFicha(int index);

    void verFichas();

    Equipo *getEquipo() const;

    void setEquipo(Equipo *equipo);

    void ordenarFichas();

    void jugar(Mesa *mesa);


};


#endif //DOMINO_JUGADOR_H

请帮助我,这是大学的最终项目,

感谢。

1 个答案:

答案 0 :(得分:0)

我认为我通过删除#include“Mesa.h”并添加了Mesa类来解决了这个问题;

#include "config.h"
#include "Ficha.h"
#include "Equipo.h"
class Mesa;