2012-04-20 155 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