Mingw&#st; :: function'尚未申报?

时间:2014-08-31 16:33:36

标签: c++ c++11 std sfml

首先,我在Windows上使用最新的mingw版本的代码块。我正在使用sfml库来开始游戏,但不幸的是我遇到了这个问题。我需要为我的状态管理器使用std :: function,但它仍然显示相同的错误:'std :: function'尚未声明。我做了#include<functional>并使用了链接器选项-std = c ++ 0x,但仍然没有运气。唯一没有编译的是这一个标题:

#ifndef STATEMANAGER_HPP_INCLUDED
#define STATEMANAGER_HPP_INCLUDED

#include <vector>
#include "State.hpp"
#include <functional>
#include <SFML/Graphics.hpp>

class StateManager {
public:
    StateManager();
    ~StateManager();

    void registerState(int id, std::function< State*() > createFunc);

    void setState(int id);

    void update();

    void draw(sf::RenderTarget &target);
private:
    std::vector< std::function< State*() > > mStates;
    State *mCurrentState;
};

#endif // STATEMANAGER_HPP_INCLUDED

我不知道问题是什么。有人知道这里有什么不对吗?

1 个答案:

答案 0 :(得分:4)

我明白了。一些归功于Piotr S.我尝试了std :: tr1 :: function但是它本身不起作用,所以我只包括tr1 / functional并且它有效。谢谢!