没这个加号就报错,因为返回类型问题。
这个加号啥作用?
21 int main()
22 {
23 auto f = [](char op)
24 {
25 switch(op){
26 default:
27 case '+': return +[](int a, int b) { return a+b; };
28 case '-': return +[](int a, int b) { return a-b; };
29 case '*': return +[](int a, int b) { return a*b; };
30 case '/': return +[](int a, int b) { return a/b; };
31 }
32 };
33
34 std::cout << f('+')(1,2) << std::endl;
35 std::cout << f('-')(1,2) << std::endl;
36 std::cout << f('*')(1,2) << std::endl;
37 std::cout << f('/')(1,2) << std::endl;
38 return 0;
39 }
--
FROM 158.140.1.*