【问题标题】:c++14 auto lambda does not name a type in jgraspc++14 auto lambda没有在jgrasp中命名类型
【发布时间】:2015-06-20 10:04:59
【问题描述】:

g++ 版本:4.9.2

jgrasp 版本: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");
    |                                                  ^
    

似乎没有什么不合适的。我在这里错过了什么?

【问题讨论】:

  • 您是否可能缺少“-std=c++14”标志?
  • @December 如果是这样的话,我如何在 Jgrasp 中添加它?我尝试为“设置”中的命令使用自定义环境。它似乎不起作用。

标签: lambda cygwin c++14 jgrasp


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多