gpt4 book ai didi

c++ - 在没有引用的情况下复制构造函数的签名

转载 作者:太空狗 更新时间:2023-10-29 23:29:59 24 4
gpt4 key购买 nike

如果我有一个 Point 类,复制构造函数应该如下所示:

Point(const Point &p);
Point(Point &p);

但是,如果我想创建一个需要 Point 的构造函数怎么办?为什么它被认为是复制构造函数,而不是构造函数?

Point(const Point p)

编译器错误:“类“Point”的复制构造函数可能没有“Point”类型的参数

最佳答案

您不能拥有复制构​​造函数签名来按值接受参数。原因很简单 - 为了按值传递参数,您需要调用复制构造函数,这将需要按值传递参数,并将调用复制构造函数...欢迎使用无休止的递归。

编译器不允许这种构造,从而为您省去了很多麻烦。

关于c++ - 在没有引用的情况下复制构造函数的签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34746160/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com