首页 > 编程知识 正文

由于复制构造函数不明确或没有可用的复制构造函数,因此无法复制构造 解决

时间:2023-05-05 21:57:44 阅读:157764 作者:3019

# includeiostreamusingnamespacestd; class Sample{public:int v; 范例(); sample(intn ) :v(n ) n ) {}; sample(samplex ) {v=2 x.v; }; sampleprint(sampleo ) {cout o.v; o.v=2 * o.v; 返回o; }int main () samplea ) 5; Sample b=a; samplec=print(b ); cout c.v; 样品d; d=a; cout d.v; } vs2017提示

1----3360项目开始生成: vslabcpp,并配置了: debug win32---1pw 31.CPP

1d :codevslabcppvslabcpppw31.CPP (26 ) : error C2440:“初始化”:

无法从“示例”转换为“示例”1d :codevslabcppvslabcpppw31.CPP (26 ) : note : note :

无法复制构造函数class“Sample”,因为复制构造函数未知或没有可用的复制构造函数

1项目“vslabcpp.vcxproj”的生成已完成-失败。

生成=========:成功0个、失败1个、最新0个、跳过0个==========的结果

解决方案:

问题的解决方法是在复制构造函数中添加const即可。

sample(constsamplex ) {v=2 x.v; }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。