您的位置:首页 > 编程语言 > C语言/C++

C语言编程常见错误与解决办法

2017-08-09 20:02 399 查看

warning: excess elements in array initializer

警告:数组初始值设定项中有多余元素 (定义的数组长度比赋值的个数小)

数组定义出错

“conflicting types for …” 错误

原因一:

原来是因为没有先做函数声明,而函数位于main()之后。

在main函数前声明了函数原型后,一切ok.

原因二:

头文件的被循环引用,在引用时考虑清楚包含顺序

原因三:

头文件声明和定义参数稍有不同

例:

头文件中声明 void Hanlder(const char * buf);

在定义时写作 void Hanlder(char * buf);

这是就会发生conflicting types for 错误问题

error: two or more data types in declaration specifiers

少了一个分号”;”,比如定义一个结构体时,在最后忘了加分号。

解决方法:加上分号即可。

重复定义:去掉重复即可。

warning: implicit declaration of function ‘dic_is__name_dao’

未在头文件定义函数;

error: previous declaration of ‘**’ was here

在头文件和.C文件里函数参数不一致导致

undefined reference to “”

这是因为在链接的时候找不到目标函数,具体缺失了文件,可能如下:

链接时缺失了相关目标文件(.o)

链接时缺少相关的库文件(.a/.so)

链接的库文件中又使用了另一个库文件,但是缺失。

多个库文件链接顺序问题

在c++代码中链接c语言的库
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  函数 c语言 编程 错误