问题

C51单片机开发程序报错

main.c (11) : error C267 : 'Func' : requires ANSI-style prototype

详细问题

问题一

问题二

问题三

可能原因一

函数定义声明处(.h文件中)与主函数中函数(函数名/参数类型/返回值类型)不一致

解决方案一

修改,将两者保持一致,初学者可能会手误写错函数名,建议直接将函数定义声明处(.h文件中)函数名 CV至主函数中调用的函数名,确保定义声明处于调用处一致
如笔者所列错误一,将函数名由Nieix改为Nixie即可

可能原因二

调用函数所需的.h头文件引入错误,可能包含.h头文件书写错误,.h头文件于调用函数所需的.h头文件不一致

解决方案二

对于拼写错误:修改调用函数所需的.h头文件拼写,解决书写错误
如笔者所列错误三所示,多空格,删除空格即可
对于.h头文件于调用函数所需的.h头文件不一致,更改为一致即可

可能原因三

调用函数所需的.h头文件与.c文件没有放置至所需的项目目录下

解决方案三

将调用函数所需的.h头文件与.c文件放置至所需的项目目录下
如笔者所举错误二
放置即可

可能原因四

调用函数所需的.h头文件与.c文件没有导入至项目中

解决方案四

将调用函数所需的.h头文件与.c文件导入至项目中

总结

Keil uVision5对于C51语法错误提示具有一定误导性,Keil uVision5控制台提示

main.c (11) : error C267 : 'Nieix' : requires ANSI-style prototype

翻译为
需要ANSI样式原型,ANSI为编码格式, 使开发者误以为为编码问题,实则并非如此

原创不易
转载请标明出处
如果对你有所帮助 别忘啦点赞支持哈