我从星期五开始遇到一个问题,我正在打破我的脑袋,搜索网络,堆栈溢出,什么都没有,问题是,当我包括课程时,我不认识这种类型,我不知道为什么发生了,并重复所有内容,将所有内容都包含在一个单独的文件中,然后将该文件包含在类中,不包括任何内容。
抱歉,我的英语不好!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
请帮助我,这是大学的最终项目,
感谢。
答案 0 :(得分:0)
我认为我通过删除#include“Mesa.h”并添加了Mesa类来解决了这个问题;
#include "config.h"
#include "Ficha.h"
#include "Equipo.h"
class Mesa;