Мне интересно узнать об использовании ключевого слова auto в C++ 11.Определения функций C++ 11 с ключевым словом auto
для определения функции, вы должны написать возвращаемый тип функции:
auto f (int x) -> int { return x + 3; }; //success
auto f (int x) { return x + 3; }; //fail
, но в этом примере оба они будут работать:
auto f = [](int x) { return x + 3; }; //expect a failure but it works
auto f = [](int x) -> int { return x + 3; }; // this is expected code
спасибо.
Просто специальные правила для лямбда, которые, скорее всего, будут применены к нормальным функциям/функциям шаблонов для C++ Далее, поэтому вторая функция из первого фрагмента будет компилироваться. – Xeo