- 兄弟不才请教个问题helphelp搞定请吃饭[北京]
- 请教现在价格在300左右的4SATA口的RAID卡用什么芯片..
- 请教关于实现定义未明确和无定义含义
- 请教:Linux下哪些方面可以做课题来研究
- 请教一个截取字符串的语句
- [图文] 请教:vi中怎么去除重复行?
- sed文本替换的问题请教
- 请教个Makefile的东西
- 请教搜索引擎的前端架构
- 请教这样的shell脚本怎么写
- 几个比较迷糊的问题,请教!
- 请教GTK安装的问题,急啊!
- 请教大家,怎么给图片加上水印
- 请教指针问题
- 请教C基本问题
- 请教个关于浮点数有效数字长度的问题
- 请教一个c#和DB2的问题
- newt编写文本模式可视化程序请教
- 请教个64位下编译的问题
- 关于文件有空格,请教
请教各位一个问题, 对于下面这个代码, 即在拷贝构造函数前面加上explicit会出错, 请问一下是什么原因啊? 谢谢:
#include using namespace std; class nocopy { public: nocopy(int i) { cout << "nocopy(int i)" << endl; } explicit nocopy(const nocopy & i) { cout << "nocopy(const nocopy&)" << endl; } }; int main() { nocopy a(12); nocopy b = a; // nocopy b(a) is ok . return 0; } |
我知道explicit的作用, 即不会隐式地进行类型转化. 但是不清楚为什么在拷贝构造函数上这样用却有点问题呢?
谢谢指教.
2008-11-19 22:25Roemernocopy b = a; 隐式调用
nocopy b(a) ; 显式调用
2008-11-19 23:01deepinthesea
原帖由 Roemer 于 2008-11-19 22:43 发表 ![]() nocopy b = a; 隐式调用 nocopy b(a) ; 显式调用 |
谢谢, 基本上明白了.
另外再请教一下, 像这种的话是不是就只有nocopy b(a)这种写法了?
而没有像
nocopy a(12);
or
nocopy a = nocopy(12); 这类似的写法?
谢谢.
[编辑:百家电脑学院] [返回学院首页] [返回上一页] []
·上一篇:请教:Linux下哪些方面可以做课题来研究 · 下一篇:LINUX下如何搭建gcc的运行环境


