如何使用赋值运算符声明函数



这是我的代码。每次我试图编译它时,它都会给我这个错误
在第3行的"float"之前需要主表达式

#include<iostream>
using namespace std;
auto fun = (float x){
return 1/(1-x);
};
int main(){
auto x=fun(0.5);
cout<<x;
return 0;
}

使用赋值运算符(即=(,我可以想到lambda而不是函数:

auto fun = [](float x){
return 1/(1-x);
};

也就是说,只需在参数列表之前添加空的方括号(即[],它对应于lambda捕获列表(,就可以将=后面的代码转换为lambda表达式。

从技术上讲,上面的=并不是真正的赋值运算符。它只是属于复制初始化的语法。

auto fun = [](float x){
return 1/(1-x);
};

最新更新