我正在发布一个静态变量。我曾尝试这样做既是只是一个公共静态,并使用访问功能,但是当我在我的框架类中使用命令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'的定义。 –