#include <iostream>
int main(){
auto lambda = [] {
return 7;
};
std::cout << lambda() << '\n';
}
Эта программа компилирует и печатает 7.
Тип возврата лямбда выводится на целочисленный тип на основе возвращаемого значения 7.
Почему это невозможно с обычными функциями?
#include <iostream>
auto function(){
return 42;
}
int main(){
std::cout << function() << '\n';
}
ошибка: функция function использует автоматический идентификатор типа без возвращаемого типа возврата