本蒟蒻写了如下的代码,判断奇偶性:
#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
请问这是为什么?