- UID
- 2
- 精华
- 积分
- 7736
- 威望
- 点
- 宅币
- 个
- 贡献
- 次
- 宅之契约
- 份
- 最后登录
- 1970-1-1
- 在线时间
- 小时
|
最喜欢找书里的错误了,,,呵呵
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()()
- {
- ...
- }
复制代码
|
|