'功能'没有命名类型(在Eclipse中)

时间:2015-10-20 10:15:01

标签: c++ eclipse g++

我正在使用定义类<functional>的库function。但是当我尝试编译代码时,我得到一个function没有命名类型的错误。

直到最近我才使用Microsoft Visual Studio,没有问题。现在我有时使用Eclipse和g ++在Ubuntu 14.04上工作,并在编译相同的代码时遇到此错误(除了&#39; main&#39;)。

我在这里发现了一些类似的问题,但没有一个解决方案适合我。

#include <functional>
using namespace std;

typedef function<double(double, double*)> t_function;
第三行上的

错误,我也尝试了不同的(并且没有名称空间),使用不同的使用和无效

1 个答案:

答案 0 :(得分:1)

你有一个旧版本的gcc(不太可能),或者没有在c ++ 11模式下编译(更有可能),它是用编译器标志启用的:

  

C ++ 11功能在GCC存储库的主干和GCC 4.3及更高版本中作为“主线”GCC的一部分提供。要启用C ++ 0x支持,请将命令行参数-std = c ++ 0x添加到g ++命令行。或者,要在C ++ 0x扩展之外启用GNU扩展,请添加-std = gnu ++ 0x。 GCC 4.7及更高版本支持-std = c ++ 11和-std = gnu ++ 11。

This question详细描述了在Eclipse中启用c ++ 11的过程,尽管它已经过时了。