CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

再一次的探讨C++的构造函数

楼主cyh811122(人生不如意)2003-10-04 16:40:00 在 C/C++ / C++ 语言 提问

我在创建构造函数的时候一个是A(long   &a,long   &b),A(double   &c)。在调用的时候是A(10)出现错误提示了,在这道题里第一个参数的类型不一样怎么还会出错呢,把第一个构造函数换成A(int   &a,long   &b)这样下就没有错误,请高手给解答一下。 问题点数:5、回复次数:8Top

1 楼Wolf0403(废人:独活十年~心如刀割)回复于 2003-10-05 00:37:39 得分 3

如果定义真的是   A(long&,   long&b);   和   A(double&),那么   A(10);   这个形式是无法编译通过的。不能给一个需要引用的地方传递常量。  
  楼主再把问题研究一下。Top

2 楼gavinbj(孤寂的流浪汉)回复于 2003-10-05 09:33:40 得分 0

不知道你的具体错误信息是什么,在构造函数中,必须有相应的类型匹配,你调用的参数形式不一致,系统应该告诉你没有找到相匹配的构造函数,所以你可以在定义一个只有一个参数的int类型的构造函数。Top

3 楼zhanzhiyuan(占志远)回复于 2003-10-06 21:24:13 得分 0

大哥你去看一下重载这个地方  
  认真看后就会明白为什么是这样了Top

4 楼jiangpeng(Mr. J)回复于 2003-10-06 21:38:24 得分 0

同意Wolf0403的看法  
  无法把一个rvalue传递个一个lvalue引用Top

5 楼asklxf(xuefeng)回复于 2003-10-07 03:12:11 得分 0

常量当然不能by   addressTop

6 楼robbie24(独行虾)回复于 2003-10-07 11:28:51 得分 0

临时变量是const的~Top

7 楼flashsj()回复于 2003-10-07 11:59:37 得分 2

你的构造函数参数全部是引用  
  只有变量可以传给引用  
  你把第二个构造函数参数的&去掉  
  就没问题了  
  可以调用第二个构造函数Top

8 楼cvsuser(想当螃蟹的猪头)回复于 2003-10-07 16:45:23 得分 0

同意gavinbj(孤寂的流浪汉)   的说法  
  他找不到匹配的构造函数Top

相关问题

  • C++拷贝构造函数
  • C++类的构造函数...
  • C++类的构造函数
  • 针对构造函数中虚机制的再一次提问?
  • 关于C++的拷贝构造函数
  • C++中构造函数的问题
  • 关于C++的构造函数
  • C++构造函数与析构函数的问题
  • C++的基于对象的部分(构造函数,拷贝构造函数)
  • 构造函数

关键词

  • 函数
  • 构造函数
  • 参数
  • 引用
  • 调用
  • 错误
  • 类型
  • long

得分解答快速导航

  • 帖主:cyh811122
  • Wolf0403
  • flashsj

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo