부모와 자식이 namespace다르고 자식에서 부모 객체 사용시 namespace로 인한 error C2065
namespace State
{
class State
...
}
namespace GameState
{
calss InitState : public State::State
...
}
이렇게 되있었고
사용은
namespace GameState
{
...
void
InitState::EndFrame()
{
State::State* pState =
...
}
}
이런식이었는데 error C2065: 'pState' : 선언되지 않은 식별자입니다. 라는 컴파일 에러가 나오더군요.
뭐지? 하고 왜 선언이 안되었다는 거야!! InitState.h 에 State.h 도 include 되있는데...
해결은 State::State를 그냥 State로 해주니 되더군요.
namespace GameState 안에 있어서 State::State 해줬더니만 부모 상속 받을때만 namespace를 명시적으로 해주고 cpp에서 사용할 때는 그냥 객체만 해줘도 되는 모양입니다. 뭐 조만간에 State객체의 namespace를 GameState로 바꾸긴 할꺼지만...자세한 c++ 메커니즘은 몰라서;;; 멀고도 험한 c++의 세계~
{
class State
...
}
namespace GameState
{
calss InitState : public State::State
...
}
이렇게 되있었고
사용은
namespace GameState
{
...
void
InitState::EndFrame()
{
State::State* pState =
...
}
}
이런식이었는데 error C2065: 'pState' : 선언되지 않은 식별자입니다. 라는 컴파일 에러가 나오더군요.
뭐지? 하고 왜 선언이 안되었다는 거야!! InitState.h 에 State.h 도 include 되있는데...
해결은 State::State를 그냥 State로 해주니 되더군요.
namespace GameState 안에 있어서 State::State 해줬더니만 부모 상속 받을때만 namespace를 명시적으로 해주고 cpp에서 사용할 때는 그냥 객체만 해줘도 되는 모양입니다. 뭐 조만간에 State객체의 namespace를 GameState로 바꾸긴 할꺼지만...자세한 c++ 메커니즘은 몰라서;;; 멀고도 험한 c++의 세계~
댓글
댓글 쓰기