Я видел источник лямбда C++.C++ lambda error
#include <functional>
#include <iostream>
int main()
{
std::function<int(int)> factorial;
// factorial = [factorial](int n)->int // runtime error
factorial = [&factorial](int n)->int // right
{
if (n == 1) {
return 1;
}
else {
return n * factorial(n - 1);
}
};
std::cout << factorial(5) << "\n";
}
Я не понимаю, почему возникает ошибка времени выполнения.
Спасибо за ваше отношение!
Благодарим за помощь. Я хотел бы ответить, как вы. –