我来自.NET和Java背景,我正在尝试为我的游戏创建一个简单的场景管理器。它是一个内联头文件,我正在编译错误。
#pragma once
#include "Scene.h"
class SceneManager
{
private:
static Scene currentScene;
public:
SceneManager()
{
}
static void SetScene(Scene scene)
{
currentScene = scene;
}
static Scene GetScene()
{
return currentScene;
}
};
编辑:我收到此错误:
Error 1 error LNK2001: unresolved external symbol "private: static class Scene SceneManager::currentScene" (?currentScene@SceneManager@@0VScene@@A) c:\Users\Justin\documents\visual studio 2013\Projects\Noeron\Noeron\main.obj Noeron
答案 0 :(得分:4)
静态成员变量不仅需要声明,还需要定义。声明属于头文件,定义应该进入源文件 - 你只需要在整个程序中使用其中一个。
Scene SceneManager::currentScene;