2014-01-23 162 views
-3

如果我們有兩個函數,例如A和B.並且我們在函數A中調用函數B.是否有必要在定義函數A之前定義函數B?在另一個函數中的函數

+3

你爲什麼不試試呢?速度更快。 –

+0

更好的禮儀。 –

回答

7

不,您可以聲明函數並在之後定義它們。

//declarations 
void foo(); 
void goo(); 

//definitions 
void foo() { goo(); } 
void goo() { foo(); } 

//... 
foo(); //stackoverflow, but hey, it compiles 
1

沒有這種依賴性。你可以參考這個link

特別是在我們使用函數指針的情況下爲DLL。我們只有在加載庫(LoadLibrary())之後才需要在runtime處存儲函數的地址。

0

函數聲明

void B(); 
void A(); 

函數定義

void B() 
{ 
    A(); 
} 
void A() 
{ 
    B(); 
} 

//... 
A(); 

我希望你的問題很清楚這段代碼。

你可以用這種方式實現。