找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 2149|回复: 0

qq空间老贴转载-书中的错误

[复制链接]

307

主题

228

回帖

7319

积分

用户组: 真·技术宅

UID
2
精华
76
威望
291 点
宅币
5569 个
贡献
253 次
宅之契约
0 份
在线时间
945 小时
注册时间
2014-1-25
发表于 2014-2-19 19:25:26 | 显示全部楼层 |阅读模式

欢迎访问技术宅的结界,请注册或者登录吧。

您需要 登录 才可以下载或查看,没有账号?立即注册→加入我们

×
最喜欢找书里的错误了,,,呵呵
c++必知必会 条款18函数对象,第一个例子就错了

  1. #include <iostream>
  2. using namespace std;
  3. class Fib
  4. {
  5. public:
  6. Fib():a0_(1),a1_(1){}
  7. int operator();
  8. private:
  9. int a0_,a1_;
  10. };

  11. void main()
  12. {
  13. Fib fib;
  14. cout<<" next two in series: "<<fib()<<'  '<<fib()<<endl;
  15. }
复制代码



此错误在于误用函数符号重载,正确写法为:


  1. class Fib
  2. {
  3. public:
  4. Fib():a0_(1),a1_(1){}
  5. int operator()();这里需要这样写
  6. private:
  7. int a0_,a1_;
  8. };

  9. int Fib::operator()()
  10. {
  11. ...
  12. }
复制代码


回复

使用道具 举报

QQ|Archiver|小黑屋|技术宅的结界 ( 滇ICP备16008837号 )|网站地图

GMT+8, 2024-3-29 20:27 , Processed in 0.040468 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表