小编sce*_*gka的帖子

为什么删除复制构造函数后编译器不生成默认构造函数?

以下代码引发错误“没有匹配的构造函数来初始化‘A’”。为什么默认构造函数不能应用于它?我正在使用 C++ 17。

class A {
public:
    A(const A& a) = delete;
    static void test() {
        A a; // raises an error
    }
};
Run Code Online (Sandbox Code Playgroud)

我尝试显式添加默认构造函数,它有效。

c++ c++17

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

标签 统计

c++ ×1

c++17 ×1