0
在C我正在寫一些我第一次練習。早些時候,我試圖在main中聲明一個簡單的函數,它帶有一個錯誤:「函數定義不允許在這裏」。但我認爲一個函數可以在主或者外面聲明,唯一的區別是範圍??在這裏,我還讀過其他人在主內部編寫函數的問題,爲什麼它不讓我這樣做呢? 感謝聲明一個函數?
在C我正在寫一些我第一次練習。早些時候,我試圖在main中聲明一個簡單的函數,它帶有一個錯誤:「函數定義不允許在這裏」。但我認爲一個函數可以在主或者外面聲明,唯一的區別是範圍??在這裏,我還讀過其他人在主內部編寫函數的問題,爲什麼它不讓我這樣做呢? 感謝聲明一個函數?
可以聲明另一個函數裏面的函數:
int main(void) {
int foo(int); // declaration
...
}
但你不能定義功能的其它函數內部:
int main(void) {
// Doesn't work.
int foo(int x) {
return x * 2;
}
...
}
此外,聲明在函數內部其他功能是非常不尋常的事情,並且基本上不需要。
你應該顯示你的代碼,否則沒有人可以幫你。但請注意,在C中,你不能在另一個內部定義一個函數。 – Renzo
http://stackoverflow.com/questions/957592/functions-inside-functions-in-c – Rob
也許使用Pascal來代替? :) –