在 C++ 中使用结构构造函数创建结构实例

Using struct constructor to create an struct instance in C++

我正试图围绕这个谈话来思考:https://www.youtube.com/watch?v=FXfrojjIo80 我在以下部分遇到错误。是简化版。

template<typename... Ts>
struct parms : Ts... {};

template<typename... Ts>
parms(Ts... ) -> parms<Ts...>;

struct first{};
struct second{};

int main(int argc, char *argv[])
{   
    parms p(first{}, second{});  
}

我在 clang 上遇到编译错误,但在 gcc 上编译。 clang 不支持哪个 C++ 特性?显然,如果我将 ( 更改为 {,它可以正常编译。

Cppreference 恰如其分地称之为“聚合的带括号的初始化”。