클래스를 포함하는 std::vector
클래스를 만들려고 시도한 것을 볼 수 있습니다. IState
클래스입니다. 두 클래스 모두 인터페이스입니다."범위에서 선언되지 않았지만"인터페이스가있는 오류
'법인'이 범위
에 선언하고 그것을 지적하지 않은
오류입니다 : 나는 '
protected:
std::vector <Entity*> ent_map;
IState.h
내부 그것을 해결하기 위해 몇 시간 씩 노력해 왔습니다. 일단 IState.h에서 전방 선언을 만들었지 만 일단 벡터를 사용하려고 시도했지만 불완전한 클래스라는 것을 알았으므로 다시 사각형으로 돌아갔습니다.아이디어가 있으십니까?
"Entity.h"
의 내용은 전혀 포함되지 않습니다
#ifndef IState_
#define IState_
#include "Entity.h"
#include <vector>
class IState
{
public :
virtual ~IState();
virtual void update() = 0;
virtual void render(SDL_Renderer* renderTarget) = 0;
virtual bool onEnter() = 0;
virtual bool onExit() = 0;
virtual void handleEvents(bool* gameLoop,SDL_Event event) = 0;
virtual void resume() = 0;
virtual std::string getStateID() = 0;
virtual void setStateID(std::string id) = 0;
protected:
std::vector <Entity*> ent_map;
};
#endif // IState_
[this] (http://stackoverflow.com/questions/228783/what-are-the-rules-about-using-an-underscore-in-a-c-identifier)를 참조하십시오. '__ENTITY__'을 다른 것으로 변경해야합니다. – juanchopanza