c++14 auto lambda 没有在 jgrasp 中命名类型
c++14 auto lambda does not name a type in jgrasp
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");
| ^
似乎没有什么不合适的地方。我在这里错过了什么?
抱歉浪费您的时间。事实证明,我需要在编译器环境设置的 'C/L' 部分添加“-std=c++14”标志。我将结束这个问题。
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"); | ^
似乎没有什么不合适的地方。我在这里错过了什么?
抱歉浪费您的时间。事实证明,我需要在编译器环境设置的 'C/L' 部分添加“-std=c++14”标志。我将结束这个问题。