#include <iostream>
int main() {
int (*max)(int, int) = [](int a, int b) { return (a > b ? a : b); };
std::cout << max(10, 20) <<std::endl;
int (*max2)(int, int) = [&max](int a, int b) { return max(a, b); };
std::cout << max2(10, 20) << std::endl;
return 0;
}
I try to run one lambda function from another one, but cmake compiler prints
error: no viable conversion from 'lambda' to 'int (*)(int, int)'
What is my mistake?