有谁能解释在哪种情况下会出现这些错误?
我有以下代码,棉绒显示以下错误:
#ifdef SIC_CSI_NET
short CsiNetInit(void);
#endif
错误:
“符号'CsiNetInit(void)'重新声明(精度)与第21行冲突
第21行没有任何内容,我可以看到用于评论的**。
最佳答案
与引起该警告的文件相反,在处理这些行的编译单元之一中,可能未定义SIC_CSI_NET
,但使用了该功能。在这种情况下,Lint根本看不到原型,而是发出不同的警告(可能是718“未声明符号'CsiNetInit',假定返回int”),并假定了原型int CsiNetInit(void);
。
然后,当他们看到实际的原型时,区别就显而易见了:int
与short
。
关于c - lint错误18“符号'CsiNetInit(void)'重新声明(精度)与第21行冲突,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10450361/