#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" використовує специфікатор типу "auto" без кінцевого типу повернення