정적 변수를 노출하려고합니다. 나는 두 단지 공공 정적으로이 일을하고, 액세스 기능을 사용하여 시도했다,하지만 난 내 프레임 워크 클래스의 명령 Stage::SetFramework(this);
을 사용할 때, 또는 내가 공공 systemFramework
을하더라도 및 Stage::systemFramework = this
를 사용, 내가 얻을 :공용 정적 변수 액세스
framework.obj||error LNK2001: unresolved external symbol "public: static class Framework * Stage::systemFramework" ([email protected]@@[email protected]@A)|
이것이 작동하지 않는 이유가 확실하지 않습니다. 분명히 뭔가 빠졌어. 아무도 도와 줄 수있어?
#pragma once
#include "event.h"
#ifndef Framework
class Framework;
#endif // Framework
class Stage
{
protected:
static Framework* systemFramework;
public:
// static Framework* systemFramework;
// Stage control
virtual void Begin() = 0;
virtual void Pause() = 0;
virtual void Resume() = 0;
virtual void Finish() = 0;
virtual void Event(FwEvent *e) = 0;
virtual void Update() = 0;
virtual void Render() = 0;
static void SetFramework(Framework* FrameworkObject)
{
systemFramework = FrameworkObject;
};
/*
static Framework* GetFramework()
{
return systemFramework;
};
*/
};
감사 static
클래스 데이터 멤버 클래스에서
컴파일 유닛에서'Stage :: systemFramework'에 대한 정의가 없습니다. –