2012-10-29 102 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

相关问题