我在 MSVC 中看到一个编译错误:
constexpr auto f =
[](auto&& x, auto&&... someOtherStuff) noexcept(noexcept(x)) {};
这给了我
<source>(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
或其他编译器而消失。