C ++ circular incluem
Eu não posso resolver este problema de dependência circular; sempre recebendo este erro: "uso inválido do tipo incompleto struct GemsGame" Eu não sei porque o compilador não sabe a declaração de GemsGame mesmo se eu incluísse gemsgame.h Ambas as classes dependem umas das outras (GemsGame armazena um vetor de GemElements e GemElements precisam acessar esse mesmo vetor)
Aqui está o código parcial de GEMELEMENT.H:
#ifndef GEMELEMENT_H_INCLUDED
#define GEMELEMENT_H_INCLUDED
#include "GemsGame.h"
class GemsGame;
class GemElement {
private:
GemsGame* _gemsGame;
public:
GemElement{
_gemsGame = application.getCurrentGame();
_gemsGame->getGemsVector();
}
};
#endif // GEMELEMENT_H_INCLUDED
... e do GEMSGAME.H:
#ifndef GEMSGAME_H_INCLUDED
#define GEMSGAME_H_INCLUDED
#include "GemElement.h"
class GemsGame {
private:
vector< vector<GemElement*> > _gemsVector;
public:
GemsGame() {
...
}
vector< vector<GemElement*> > getGemsVector() {
return _gemsVector;
}
}
#endif // GEMSGAME_H_INCLUDED