返回信息流#include <iostream>
using namespace std;
class B
{
public:
B(int i)
{
m = i;
cout <<"B()\n";
}
B(B &b){m = b.m; cout << "B(b)\n";}
int m;
};
B f()
{
B t(1);
cout << "f1\n";
return t;
}
int main()
{
B a =f();
}
问题如下:
1.为什么Code::blocks里报错
error: no matching function for call to `B::B(B)
2.B a =f();这句会调用几个复制构造函数?是用对象初始化a时调用的,还是对象从f()函数返回调用的?
这是一条镜像帖。来源:北邮人论坛 / cpp / #36749同步于 2010/3/18
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
复制构造函数问题求助
yangyang1993
2010/3/18镜像同步3 回复
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
1、copy构造函数的参数少了const
2、没有掉用copy构造函数... 只调用了一次构造函数,调试发现 a 和 t 的地址是一样的.. 这个我也不解