你好,我有一个简单的问题:如果我有一个类的构造函数以整数为例,那么如果我复制初始化该类的对象,那么它就是复制构造函数或构造函数:
class M
{
public:
M(int) { cout << "M(int)\n"; }
M(const M&) = delete;
M(const M&&) = delete;
};
int main()
{
M m = 9; // why M(int) is called but not a copy-ctor or move-ctor?
}
M m = 9;
我认为它是Copy-initialization
的一种形式,因此通常我认为应该调用copy-ctor或move-ctor。我已声明删除主题以获取编译时错误,但它有效吗?