C++类依赖于函数,但函数依赖于类

syn*_*tik 0 c++ declaration

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

#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; }
Run Code Online (Sandbox Code Playgroud)

Kev*_*son 5

将函数的原型放在类的定义之下,但在成员函数之上.