c ++ 14 auto lambda没有在jgrasp中命名一个类型

时间:2015-06-20 10:05:00

标签: lambda cygwin c++14 jgrasp

g ++版本:4.9.2

jgrasp version:2.0.1_04

jgrasp中使用的设置:默认

用于测试的代码:

#include <iostream>
int main(){
    auto glambda = [](auto x){ return x;};
    std::cout << glambda("Hello generic lambda!\n");
    return 0;
}

结果:

  • 在使用cygwin终端时完美编译
  • jgrasp在编译时抛出此错误:

    jGRASP exec: g++ -g -o Test.exe Test.cpp
    |Test.cpp: In function 'int main()':
    |Test.cpp:3:9: error: 'glambda' does not name a type
    |    auto glambda = [](auto x){ return x;};
    |         ^
    |Test.cpp:4:50: error: 'glambda' was not declared in this scope
    |    std::cout << glambda("Hello generic lambda!\n");
    |                                                  ^
    

似乎没有什么不合适的地方。我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

抱歉浪费你的时间。事实证明,我需要在编译器环境的设置的“C / L”部分添加“-std = c ++ 14”标志。我将结束这个问题。