小编Ale*_* R.的帖子

使用C ++ 20中删除的默认构造函数初始化聚合

有一个包含POD的结构,默认构造函数已删除。尝试对struct实例进行汇总初始化时,使用编译时会在g ++ 9.1中导致编译错误-std=c++2a。相同的代码可以使用编译-std=c++17

https://godbolt.org/z/xlRHLL

struct S
{
    int a;
    S() = delete;
};

int main()
{
    S s {.a = 0};
}
Run Code Online (Sandbox Code Playgroud)

c++ deleted-functions aggregate-initialization c++17 c++20

6
推荐指数
1
解决办法
97
查看次数