Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
任何人都可以解释一下我们会在哪些情况下得到这些错误?
我有以下代码,lint 显示以下错误:
#ifdef SIC_CSI_NET short CsiNetInit(void); #endif
错误:
“重新声明的符号‘CsiNetInit(void)’(精度)与第 21 行冲突
第 21 行没有任何内容,我可以看到用于注释的 **。
可能,在处理这些行的编译单元之一中,SIC_CSI_NET没有定义,与引发此警告的文件相反,但使用了该函数。在这种情况下,Lint 根本看不到原型,带来了不同的警告(可能是 718“未声明的符号 'CsiNetInit',假定返回 int”),并假定为原型int CsiNetInit(void);。
SIC_CSI_NET
int CsiNetInit(void);
当它看到实际的原型时,区别就很明显了:intvs short.。
int
short
查看 ; 的实际CsiNetInit()定义 也许它的原型指定了不同的返回类型short?
CsiNetInit()