3

我正在使用最新版本的 MSVC、clang 和 gcc。最后两个接受以下代码,但 MSVC 拒绝它。MSVC 对吗?或者它是一个错误?

struct A {
  int a, b, c;
};

template <typename T> constexpr auto construct_impl() {
    return [](auto &&... xs) -> decltype(T{xs...}) { return T{xs...}; };
}

int main() {
    auto a = construct_impl<A>()(0, 1, 2);
    return 0;
}
4

0 回答 0