我在使用lambdas时遇到了一个有趣的案例(至少对我而言),我想知道这是编译器错误还是标准功能允许的问题。让我们切入正题。有示例代码:constintcontrolValue=5;std::vectorvect{0,1,2,3};constautoresult=std::any_of(vect.begin(),vect.end(),[](constint&item){returnitem==controlValue;});注意controlValue变量没有被lambda表达式捕获。此外,在cppreference对于lambda表达式,声明[]-不捕获任何内容使用VS2015编译上
我在使用lambdas时遇到了一个有趣的案例(至少对我而言),我想知道这是编译器错误还是标准功能允许的问题。让我们切入正题。有示例代码:constintcontrolValue=5;std::vectorvect{0,1,2,3};constautoresult=std::any_of(vect.begin(),vect.end(),[](constint&item){returnitem==controlValue;});注意controlValue变量没有被lambda表达式捕获。此外,在cppreference对于lambda表达式,声明[]-不捕获任何内容使用VS2015编译上