用GCC 4.9.2替换C ++ 11中的boost :: functionN

时间:2017-03-09 09:40:11

标签: c++11 gcc boost

我正在尝试使用GCC 4.9.2(在Windows中)构建John Torjo的eGUI库,消除boost的所有依赖。 在几个文件中我找到了这个typedef:     typedef std::function1 <void, event_type &> func;
编译时,我收到以下错误:
.. \ .. \ Egui \ core \ detail \ event_handler.hpp | 44 | error: 'function1' in namespace 'std' does not name a template type |
boost文档定义了类模板FunctionN boost::FunctionN - 一组通用函数指针,可用于回调或包装函数对象。 现在,我问:boost::function1可能被一些标准类所取代? 在<functional>中,我似乎找不到任何可能达到此目的的东西。

1 个答案:

答案 0 :(得分:3)

你应该改变所有

boost::functionN<R, A, B, C, ...> 

std::function<R(A, B, C, ...)>

(N现在不相关,标准库可以从A,B,C,...列表中计算出N)