我有一个名为 Thing
的对象,它的构造函数采用一个 int。
此代码按预期工作:
东西东西(5);
然而,我不小心写了以下内容:
事物事物 = 事物 (5);//注意:没有 'new'
并得到错误“Thing”的初始化没有匹配的构造函数
。后一段代码的实际含义是什么?我知道如果我在那里放一个 new
是什么意思,但是如果没有 new,那是什么意思?
最佳答案
Thing thing = Thing(5);
需要定义一个(非显式
)复制(或移动)构造函数:
Thing(const Thing &);
(即使出于优化原因未调用它)。
关于C++风格的构造函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41891631/