2012-04-20 123 views
0

我无法编译此代码,因为函数声明依赖于类声明,而类声明依赖于函数声明。请帮忙。C++类依赖于函数,但函数依赖于类

#include <iostream> 
using namespace std; 

void simulate(Policy& p); 

class Policy { 
public: 
    Policy(int); 
    int x; 
    void eval(); 
}; 

int main() { 
    Policy p(23); 
    return 0; 
} 

Policy::Policy(int y) { x = y; } 
void Policy::eval() { simulate(this); } 

void simulate(Policy& p) { cout << ++p.x << endl; } 
+1

我不明白为什么'模拟'不是'政策'中的一种方法... – 2012-04-20 02:08:46

+0

@Mike DeSimone这里应该是。但这是一个玩具的例子,我正在计划另一个案例。即使在另一种情况下,也许它应该是。 – synaptik 2012-04-20 02:14:34

回答

5

将函数的原型放在您的类的定义下方,但放在成员函数的上方。

+0

非常感谢。 – synaptik 2012-04-20 02:10:43

+1

没问题。祝你好运。 – 2012-04-20 02:13:52