C++11中lambda函数的作用域问题
  • 板块学术版
  • 楼主ZhouJiatai
  • 当前回复4
  • 已保存回复4
  • 发布时间2023/10/17 20:57
  • 上次更新2023/11/2 13:11:35
查看原帖
C++11中lambda函数的作用域问题
1066345
ZhouJiatai楼主2023/10/17 20:57

本蒟蒻写了如下的代码,判断奇偶性:

#include<bits/stdc++.h>
using namespace std;
int main(){
	auto is_even=[](int i){
		return i%2==0;
	};
	auto is_odd=[](int i){
		return !is_even(i);
	};
}

使用GCC编译时出现了报错:

Line 8 Column 11 [Error] 'is_even' is not captured
Line 7 Column 15 [Note] the lambda has no capture-default
Line 4 Column 7 [Note] 'main()::<lambda(int)> is_even' declared here

请问这是为什么?

2023/10/17 20:57
加载中...