一个c++的问题。望不吝赐教。谢了

jzk_sherlock 2002-02-19 10:21:11
warning 1.cpp : non-const function Time:SetHour(int) called for const object好像是说const对象是不能被赋值。但实际运行中const变量还是被改动了。怎么回事?turbo c++ 3.0中。

...全文
18 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jzk_sherlock 2002-02-20
  • 打赏
  • 举报
回复
非常感谢。
duqiang2050 2002-02-19
  • 打赏
  • 举报
回复
c++中memory function的常量性对其对象而言,既不充分也不必要。
就是说,memory function符合const也可能改变了对象(如,你并没改变一个指针的地址,却改变了地址上的内容,const审核就会通过);写上const出错的memory function也可能没改变对象(mutable就是这么产生的)

所以,c++对memory function的常量性限制比较松,只给了个warning ,编译器不同结果也不同,我个人认为只给warning 还是妇人之仁,毕竟以上的情况都有办法解决。

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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