2012-10-29 103 views
-3

爲此代碼獲取一些編譯器/ lint錯誤。不要讓他們的意思, 不工作需要做些什麼來編譯?

int main(void) 
{ 
    int CountRating(); 

    return 0; 
} 

錯誤:

--- Module: 
    int CountRating(); 
c(70): warning 937: (Note -- old-style function declaration for function 'CountRating') 
.c(70): warning 580: (Warning -- Redeclaration of function 'CountRating(void)' (hiding line 25) causes loss of prototype) 
} 
C1A5E1_CountRating.c(73): warning 752: (Info -- local declarator 'CountRating()' (line 70) not referenced) 

--- Global Wrap-up 

(70): warning 714: (Info -- Symbol 'CountRating(void)' (line 70, file c) not referenced) 

作品:

int main(void) 
{ 
    CountRating(); 

    return 0; 
} 

什麼我必須做,使之返回一個int?

+0

你說的運行使用INT是什麼意思? – chris

+0

這是什麼? CountRating()函數在哪裏定義?該計劃是做什麼的? – 2012-10-29 05:51:21

+0

是啊...你的意思是返回一個int嗎? – bms

回答

2
int CountRating(); 

表示您正在聲明函數原型。它可以在功能內完成,但應該避免。 (不是最佳做法)。您會收到警告,因爲原型與實際功能(int CountRating()int CountRating(void)不匹配。

CountRating(); 

意味着您所呼叫的另一種方法,這種功能,它是完全允許的。因此沒有警告。

,如果你想從功能returnrd值,這樣做如下:

int value = CountRating(); 
+0

更正,謝謝。今天又學到了一件事。 – Azodious

+0

非常感謝 – user1728737

相關問題