강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

서버공부중님의 프로필 이미지
서버공부중

작성한 질문수

섹션 11 windows api에서 define.h 부분 문제 질문이 있습니다.

작성

·

30

0


모든 싱글톤 객체들을 DECLARE_SINGLE와 같은 형태로 define하여 편하게 작업하고 있는데,
매니저 cpp파일의 전역에 TimeManager* TimeManager::s_instance = nullptr;와 같은 형태로 정의 해놓지 않으면 작동이 되지 않습니다. DECLARE_SINGLE()에서 링커 오류가 납니다

 

하지만 영상속엔 이런 내용이 없는데 따로 설정 방법이 있는건가요 ?

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.
서버공부중님, Windows API에서 싱글톤 패턴을 정의할 때 발생하는 링커 오류에 대해 질문해 주셨군요.

싱글톤 패턴을 사용할 때, 클래스의 정적 멤버 변수를 정의하지 않으면 링커 오류가 발생하는 경우가 있습니다. 질문해주신 내용대로 TimeManager* TimeManager::s_instance = nullptr;와 같은 형태로 cpp 파일에서 정적 멤버 변수 s_instance를 명시적으로 정의해야 하는 것이 일반적인 방법입니다.

영상에서 별도의 언급이 없었던 이유는, 일반적으로 C++에서 싱글톤 패턴을 구현할 때 정적 멤버 변수를 cpp 파일에서 명시적으로 정의하는 것이 기본적인 단계로 알려져 있기 때문일 수 있습니다.

혹시 영상을 다시 확인해 보시거나, 해당 강의의 지식공유자님께 직접 질문을 남겨 보시는 것을 추천드립니다. 궁금한 점은 수강 전 문의 게시판을 활용하시면 더 구체적인 답변을 얻을 수 있을 것입니다.

추가적인 도움이 필요하시면 언제든지 말씀해 주세요!

서버공부중님의 프로필 이미지
서버공부중

작성한 질문수

질문하기