`noException(noException(expr))` на лямбда-выражении в MSVCC++

Программы на C++. Форум разработчиков
Anonymous
`noException(noException(expr))` на лямбда-выражении в MSVC

Сообщение Anonymous »

Я вижу ошибку компиляции в MSVC:

Код: Выделить всё

constexpr auto f =
[](auto&& x, auto&&... someOtherStuff) noexcept(noexcept(x)) {};
что дает мне

Код: Выделить всё

(3): error C2760: syntax error: 'someOtherStuff' was unexpected here; expected ')'
И поскольку я что-то изменил, это не должно компилироваться, но я получаю внутреннюю ошибку компилятора:

Код: Выделить всё

constexpr auto g =
[](auto&&... someOtherStuff) noexcept(noexcept(int)) {}; //< ICE
https://godbolt.org/z/faKKfjdPx
Подходит ли f выше для C++? Он (и ICE) исчезает с /std:c++20 или с другими компиляторами.

Подробнее здесь: https://stackoverflow.com/questions/793 ... da-in-msvc

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