C语言小知识点error strict-prototypes

C语言小知识点error strict-prototypes编译C语言代码的时候,遇到编译报错如下:error: function declaration isn’t a prototype [-Werr

大家好,欢迎来到IT知识分享网。

编译C语言代码的时候,遇到编译报错如下:

error: function declaration isn’t a prototype [-Werror=strict-prototypes] void myFunc(){ ^

这个错误的主要问题是没有声明参数是void,改为void myFunc(void)就可以了。

啥时候惯出来的这个毛病?

C语言小知识点error strict-prototypes

错误信息最后的[-Werror=strict-prototypes]显示,应该是开启了这个编译选项的缘故。

查看下GCC的帮助信息, 当函数声明不是一个原型时告警。

Determines whether warnings are issued for functions declared or defined without specified argument types.

函数定义、声明时不指定参数类型都会报错的。

-Wstrict-prototypes Warn about unprototyped function declarations.

还有个小知识点,这个选项对C++代码是不起作用的。至于原因可以去 stack overflow上查查Why is gcc’s option “-Wstrict-prototypes” not valid for C++?:

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/53088.html

(0)
上一篇 2024-08-08 20:33
下一篇 2024-08-09 17:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信