현재 싱글 톤으로 팩토리를 구현하려고합니다. 나는 실질적으로 싱글 톤 패턴의 교과서 예제를 사용했다. 여기에 .H 파일입니다 :C++ : Singleton 클래스의 인스턴스에 대한 정의되지 않은 참조
namespace oxygen{
class ImpFactory{
public:
static boost::shared_ptr<ImpFactory> GetInstance();
private:
static boost::shared_ptr<ImpFactory> mInstance;
};
여기 .cpp 파일입니다 :
이#include "impfactory.h"
using namespace oxygen;
using namespace boost;
shared_ptr<ImpFactory> ImpFactory::GetInstance(){
if (mInstance.get() == 0)
mInstance = shared_ptr<ImpFactory>(new ImpFactory());
return mInstance;
}
코드는 컴파일,하지만 난 링커 오류 얻을 : 이것은 현재 세 학생들이
../../lib/oxygen/liboxygen.so.3.2.4: undefined reference to `oxygen::ImpFactory::mInstance'
을 엉망진창. 어떤 아이디어?
"사람들이 싱글 톤을 원한다고 생각할 때 추가 된 다음 결국 좋은 생각이 아님을 알았을 때 제거 된 것"으로 "옮겼습니다"라고 생각하지 않습니다. –