gpt4 book ai didi

c++ - Mingw 'std::function' 还没有声明?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:34:35 24 4
gpt4 key购买 nike

首先,我在带有最新 mingw 版本的 Windows 上使用代码块。我正在使用 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

我不知道问题出在哪里。有人知道这里出了什么问题吗?

最佳答案

我想通了。 Piotr S 的一些功劳。我尝试了 std::tr1::function 但它本身不起作用,所以我只包含 tr1/functional 并且它起作用了。谢谢!

关于c++ - Mingw 'std::function' 还没有声明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25594016/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com