1樓:
標準的做法是:把所有函式宣告放到最前面,全部宣告完畢之後才是函式的具體實現。
舉例如下:
#include
// 這裡把所有自定義函式的宣告提到最前面,
// 解決由於函式實現順序導致的呼叫未定義函式的問題
int fun1(int x, int y);
int fun2(int x);
void fun3(void);
.............
// 結束宣告
void main(void)
int fun2(int x)
int fun1(int x, int y)
void fun3(void)
注意上面fun2實現裡面呼叫了fun1, 而fun2實現卻在fun1之前,
由於在最前面已經宣告瞭fun1, 所以fun2這樣呼叫fun1不會有問題。
把自定義函式的宣告放到最前面的好處是,你完全不用考慮函式之間相互呼叫導致的函式實現順序問題,因為全部都在前面宣告瞭。
2樓:
自定義函式多了,解決辦法就是把函式單獨寫在一個標頭檔案裡,在主函式前包含這個標頭檔案就行了;在自定義函式中呼叫另一個自定義函式,要保證被呼叫的自定義函式在主調函式前定義,否則就要在主調函式中宣告。不然就存在你說的問題。
3樓:草叢裡的落葉
當你新增函式時,把你要函式呼叫的函式定義在該函式之前。
4樓:匿名使用者
你建的什麼工程啊,這麼牛叉。
你的新增分組2所在的那個函式怎麼跟上一個函式的}放在一行上了。
5樓:匿名使用者
以樓上的方法可以解決幾乎所有的函式呼叫申明的問題。不能解決那就肯定是你**寫錯了。貼下**吧
6樓:
可以將所有函式在main前宣告,在main後實現
c++ vs2010中宣告一個類的函式,提示不相容。。
7樓:匿名使用者
這個不是不相容,是重複宣告瞭,如果你搜尋了整個專案後確認沒有重複宣告,那麼最有可能的就是標頭檔案互相包含了;
vs中使用c++類的使用問題:
8樓:
類的頭文復件沒有包含吧,在main函式的那制個檔案你要bai用include包含以下宣告類du的標頭檔案,而且聲zhi明不是簡單的寫一個class mycomplex這個就可dao以的;將這個class mycomplex
void display();
private:
double real;
double imag;
};**放在標頭檔案定義中
c語言函式呼叫問題,C語言函式呼叫問題
優化了你的程式,問題好多,你自己研究一下吧 include int ds int x 真心看不懂你的ds 函式思想!有那麼複雜嗎?return x0 int yz int sum1 int main 如果不為顯示中間結果,這些都可以省。x0 ds x sum x x0 n printf 第 d次計算...
c中使用bool函式的例子,C 中使用bool函式的例子
等待的幸福快樂 例子 bool 就兩個值,真或者假,通常用來儲存關係表示式或者邏輯表示式的結果。以前是用 int 來表示真假,大 int 有多個值,所以才規定 0 為假,非零為真,導致對應關係比較麻煩,有了 bool 就方便多了,如果把結果賦值給 bool 型別的變數,他會自動轉換,即把0轉換為假,...
C 函式呼叫問題
1 這裡的 合在一起是條件運算子,形如 a b c 其中 a b c 代表語句。首先判斷 語句a 如果為真,則返回 b 或者是 執行 語句b 如果為假,同理,就是 返回 c 或者是 執行 語句c 在這裡,先判斷 i 4 是否等於 1 如果是,那麼將 r f 賦值給 r 否則將 r f 賦值給 r。2...