-3

我来自 .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
4

1 回答 1

4

静态成员变量不仅需要声明,还需要定义。声明属于头文件,定义应该放在源文件中——整个程序中只需要其中一个。

Scene SceneManager::currentScene;
于 2014-07-17T16:34:40.027 回答