Lambda constexpr работает в msvc, но не в gccC++

Программы на C++. Форум разработчиков
Гость
Lambda constexpr работает в msvc, но не в gcc

Сообщение Гость »


Я написал следующую программу, которая компилируется с помощью msvc, но не с помощью gcc и clang. Демо

int main() { constexpr auto func = []()constexpr { return 1; }; auto i = []{return func();}; } Я хочу знать, какой компилятор находится здесь?

GCC говорит:
: В лямбда-функции: :3:28: ошибка: «func» не захвачен 3 | auto i = []{return func();}; | ~~~~^~ :3:15: примечание: лямбда не имеет значения по умолчанию 3 | auto i = []{return func();}; | ^ :2:20: примечание: здесь объявлено 'constexpr const main():: func' 2 | constexpr auto func = []()constexpr { return 1; }; |

Вернуться в «C++»