Ceci est ma première question ici.Un autre 'x n'a pas été déclaré dans cette portée'
Ecrire un code, je reçois cette erreur de g ++: "entité n'a pas été déclarée dans ce cadre", dans ce contexte:
#ifndef Psyco2D_GameManager_
#define Psyco2D_GameManager_
#include <vector>
#include "Entity.h"
namespace Psyco2D{
class GameManager{J
private:
std::vector<Entity> entities;
};
}
#endif
Ceci est le contenu de Entity.h:
#ifndef Psyco2D_Entity_
#define Psyco2D_Entity_
#include <string>
#include "GameManager.h"
#include "EntityComponent.h"
namespace Psyco2D{
class Entity{
friend class GameManager;
private:
/* Identificatore */
std::string _name;
/* Components list */
std::map<const std::string, EntityComponent*> components;
protected:
Entity(const std::string name);
public:
inline const std::string getName() const{
return this->_name;
}
void addComponent(EntityComponent* component, const std::string name);
EntityComponent* lookupComponent(const std::string name) const;
void deleteComponent(const std::string name);
};
}
#endif
Si j'utilise std::vector<class Entity>
au lieu de std::vector<Entity>
cela fonctionne.
Pourquoi?
Merci à tous =)
Comment devrons-nous deviner ce que '' Entity.h ''contient? – GManNickG
Désolé, j'ai édité le message =) – Sigel