我正在發佈一個靜態變量。我曾嘗試這樣做既是隻是一個公共靜態,並使用訪問功能,但是當我在我的框架類中使用命令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;
};
*/
};
感謝
您錯過了編譯單元中'Stage :: systemFramework'的定義。 –