常见此类问题的原因如下(引)
错误:
test.c:22: error: conflicting types for 'urlencode'
test.c:18: error: previous implicit declaration of 'urlencode' was here
原因一:
原来是因为没有先做函数声明,而函数位于main()之后。
在main函数前声明了函数原型后,一切ok.
原因二:
头文件的被循环引用,在引用时考虑清楚包含顺序
原因三:
头文件声明和定义参数稍有不同
例:
头文件中声明 void Hanlder(const char * buf);
在定义时写作 void Hanlder(char * buf);
这是就会发生conflicting types for 错误问题
转载自:https://blog.youkuaiyun.com/jeakon/article/details/8488965
博客主要分析了C语言中出现 'conflicting types for' 错误的原因。一是未先做函数声明且函数在main()之后,声明函数原型可解决;二是头文件循环引用,需考虑包含顺序;三是头文件声明和定义参数稍有不同也会引发该错误。
873

被折叠的 条评论
为什么被折叠?



