标题: error C267:: requires ANSI-style prototype这个是什么意思? [打印本页]

作者: aaaakk.    时间: 2020-4-29 22:01
标题: error C267:: requires ANSI-style prototype这个是什么意思?
求助Keil编码错误
error C267: 'lcd_write_com': requires ANSI-style prototype



请问Keil软件出现这个错误什么意思啊?怎么改呢


作者: benclee    时间: 2020-4-30 08:07
看一下lcd_write_com这个函数有没有声明,定义。
作者: carpcarey    时间: 2020-4-30 08:40
你函数原型在调用函数之后。一种办法是你将lcd_write_com这个函数移动到你调用的函数之前,另一种办法就是在最前面声明或头文件声明。
作者: 黄youhui    时间: 2020-4-30 09:00
它说你的函数不标准,这的看原型和调用
作者: xxpp2011    时间: 2020-4-30 10:51
函数未定义或未声明调用
作者: wanghz12    时间: 2020-4-30 11:17
先声明再使用
作者: zlf1508383    时间: 2020-4-30 12:05
在实现lcd_write_com这个函数的.c文件对应的.h文件加上函数声明,再在你调用的地方include这个.h文件,另外检查一下函数定义、声明、调用传参个数、类型是否一致。
作者: 欧冶泰辉    时间: 2020-4-30 12:24
是不是没声明
作者: piliming    时间: 2020-4-30 14:05
要把调用的子函数lcd_write_com放到main前面,或者在main前面先定义(声明)一下
作者: lzw1997    时间: 2020-4-30 14:10
函数没有申明,如果申明了看看是不是参数问题,比如你调用时本来函数没有参数你给了参数
作者: zz177    时间: 2021-5-15 10:28
需要函数声明
作者: 氧离子di    时间: 2021-7-14 15:02
看看调用的函数名有没有打错
作者: shumivan    时间: 2021-7-15 13:54
先关键检查是否正确声明,如果还不行,那就是keil编码设置错误了
作者: 猪八戒2179    时间: 2021-12-20 16:53
是不是应当把错误代码帖出来 大家看看
作者: akesking    时间: 2021-12-21 14:48
write_data()这个函数还没有声明过,你就直接调用了。   Keil采用的是C89标准,无声明无定义的函数会报错的。你应当:  将write_data()函数体挪动到所有调用它的函数之前(先让编译器看看:我有这个东西;之后再调用它,编译器自然就闭嘴了);  或者养成规范编程的习惯,在最前面放好每个函数的原型声明(告诉编译器:我会用到一个这样的函数,你别叽叽歪歪)
作者: Qiuhan    时间: 2021-12-26 17:19
可能是说你的函数命名不符合规范,或者说头文件和define冲突之类的 也可能是代码位置的问题
作者: xcb6666    时间: 2021-12-27 20:38
要先声明的呀
作者: Chodimasker    时间: 2022-2-20 10:16
虽然说是声明问题,但是有一种情况仍然会导致这个问题的出现
就是你一开始在打开这个文件(模块化编程)的时候,是打开其他文件夹里面的文件,然后在复制过来工程文件夹
此时在keil中修改的文件是另外文件夹的文件,而实际读取操作的文件是工程文件夹中未修改的文件
解决方法是copy修改完的文件到工程文件夹,然后再将该模块的文件删除并重新添加工程文件夹中的文件
作者: QQ900    时间: 2022-8-17 13:48
函数未调用(定义)
作者: zilihangjian    时间: 2022-8-19 20:07
要么放在main前面,放在后面就要对函数声明,定义。
作者: aide51    时间: 2022-8-20 21:56
函数未定义或未声明调用,或者放在main前面
作者: 阴间大男孩    时间: 2024-12-10 21:17
发表于 2020-4-30 08:40
你函数原型在调用函数之后。一种办法是你将lcd_write_com这个函数移动到你调用的函数之前,另一种办法就是 ...

正解

作者: barbed    时间: 2024-12-16 16:26
这是由于函数原型声明的问题导致的编译错误
作者: zzzzzzzt    时间: 2025-2-9 00:37
Chodimasker 发表于 2022-2-20 10:16
虽然说是声明问题,但是有一种情况仍然会导致这个问题的出现
就是你一开始在打开这个文件(模块化编程)的 ...

谢谢!我查了好久,发现是这个问题




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1