在 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 恰如其分地称之为“聚合的带括号的初始化”。
我正试图围绕这个谈话来思考: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 恰如其分地称之为“聚合的带括号的初始化”。