关于const引用

SeaDragonH 2006-04-17 10:47:56
C++Primer 上说const引用可以用不同类型的对象初始化,但为什么这个程序会提示出错呢?难道我理解错了!(我用的是VC++6.0)
#include<iostream>
using namespace std;
int main()
{
double dval=3.14159;
const int &ir=dval;
return 0;
}
error C2166: l-value specifies const object
...全文
151 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
setve 2006-04-18
  • 打赏
  • 举报
回复
没有问题啊,先清除一下重新编译一下试试看!常数引用的时候本来就要初始化的,那不是赋值。不知道会不会是因为数据类型不对,前面声明的变量是双精度,后面的引用是整型
SeaDragonH 2006-04-18
  • 打赏
  • 举报
回复
谢谢大家关注!
braveconf 2006-04-17
  • 打赏
  • 举报
回复
看看是不是写错了。
richard_2010 2006-04-17
  • 打赏
  • 举报
回复
你的编译器的问题
我同样是VC6.0,没有错误
xcm83 2006-04-17
  • 打赏
  • 举报
回复
C2166就应该是对CONST 赋值的错误
tidyduck 2006-04-17
  • 打赏
  • 举报
回复
试了一下,没错啊。
我的是vc7
xcm83 2006-04-17
  • 打赏
  • 举报
回复
错了 应该是

A::A():ir(3.14159)
{
...
}
xcm83 2006-04-17
  • 打赏
  • 举报
回复
已经声明ir为const,就不能再对它赋值了,如果需要应该将赋值放在构造函数的成员初始化表中进行如:

A::A();ir(3.14159)
{
...
}

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧