- UID
- 2
- 精华
- 76
- 积分
- 7319
- 威望
- 291 点
- 宅币
- 5569 个
- 贡献
- 253 次
- 宅之契约
- 0 份
- 最后登录
- 2024-3-28
- 在线时间
- 945 小时
- QQ
用户组: 真·技术宅
- UID
- 2
- 精华
- 76
- 威望
- 291 点
- 宅币
- 5569 个
- 贡献
- 253 次
- 宅之契约
- 0 份
- 在线时间
- 945 小时
- 注册时间
- 2014-1-25
|
最喜欢找书里的错误了,,,呵呵
c++必知必会 条款18函数对象,第一个例子就错了
- #include <iostream>
- using namespace std;
- class Fib
- {
- public:
- Fib():a0_(1),a1_(1){}
- int operator();
- private:
- int a0_,a1_;
- };
- void main()
- {
- Fib fib;
- cout<<" next two in series: "<<fib()<<' '<<fib()<<endl;
- }
复制代码
此错误在于误用函数符号重载,正确写法为:
- class Fib
- {
- public:
- Fib():a0_(1),a1_(1){}
- int operator()();这里需要这样写
- private:
- int a0_,a1_;
- };
- int Fib::operator()()
- {
- ...
- }
复制代码
|
|