找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 50317|回复: 20
打印 上一主题 下一主题
收起左侧

error C267:: requires ANSI-style prototype这个是什么意思?

  [复制链接]
回帖奖励 20 黑币 回复本帖可获得 2 黑币奖励! 每人限 2 次
跳转到指定楼层
楼主
ID:741237 发表于 2020-4-29 22:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求助Keil编码错误
error C267: 'lcd_write_com': requires ANSI-style prototype



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

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:70069 发表于 2020-4-30 08:07 | 只看该作者
看一下lcd_write_com这个函数有没有声明,定义。
回复

使用道具 举报

板凳
ID:267719 发表于 2020-4-30 08:40 | 只看该作者
你函数原型在调用函数之后。一种办法是你将lcd_write_com这个函数移动到你调用的函数之前,另一种办法就是在最前面声明或头文件声明。
回复

使用道具 举报

地板
ID:592807 发表于 2020-4-30 09:00 | 只看该作者
它说你的函数不标准,这的看原型和调用
回复

使用道具 举报

5#
ID:452950 发表于 2020-4-30 10:51 | 只看该作者
函数未定义或未声明调用
回复

使用道具 举报

6#
ID:234355 发表于 2020-4-30 11:17 | 只看该作者
先声明再使用
回复

使用道具 举报

7#
ID:741605 发表于 2020-4-30 12:05 | 只看该作者
在实现lcd_write_com这个函数的.c文件对应的.h文件加上函数声明,再在你调用的地方include这个.h文件,另外检查一下函数定义、声明、调用传参个数、类型是否一致。
回复

使用道具 举报

8#
ID:741548 发表于 2020-4-30 12:24 | 只看该作者
是不是没声明
回复

使用道具 举报

9#
ID:741674 发表于 2020-4-30 14:05 | 只看该作者
要把调用的子函数lcd_write_com放到main前面,或者在main前面先定义(声明)一下
回复

使用道具 举报

10#
ID:539117 发表于 2020-4-30 14:10 | 只看该作者
函数没有申明,如果申明了看看是不是参数问题,比如你调用时本来函数没有参数你给了参数
回复

使用道具 举报

11#
ID:920003 发表于 2021-5-15 10:28 来自手机 | 只看该作者
需要函数声明
回复

使用道具 举报

12#
ID:916624 发表于 2021-7-14 15:02 | 只看该作者
看看调用的函数名有没有打错
回复

使用道具 举报

13#
ID:81196 发表于 2021-7-15 13:54 | 只看该作者
先关键检查是否正确声明,如果还不行,那就是keil编码设置错误了
回复

使用道具 举报

14#
ID:974525 发表于 2021-12-20 16:53 | 只看该作者
是不是应当把错误代码帖出来 大家看看
回复

使用道具 举报

15#
ID:993066 发表于 2021-12-21 14:48 | 只看该作者
write_data()这个函数还没有声明过,你就直接调用了。   Keil采用的是C89标准,无声明无定义的函数会报错的。你应当:  将write_data()函数体挪动到所有调用它的函数之前(先让编译器看看:我有这个东西;之后再调用它,编译器自然就闭嘴了);  或者养成规范编程的习惯,在最前面放好每个函数的原型声明(告诉编译器:我会用到一个这样的函数,你别叽叽歪歪)

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

16#
ID:903924 发表于 2021-12-26 17:19 | 只看该作者
可能是说你的函数命名不符合规范,或者说头文件和define冲突之类的 也可能是代码位置的问题
回复

使用道具 举报

17#
ID:997569 发表于 2021-12-27 20:38 | 只看该作者
要先声明的呀
回复

使用道具 举报

18#
ID:987925 发表于 2022-2-20 10:16 | 只看该作者
虽然说是声明问题,但是有一种情况仍然会导致这个问题的出现
就是你一开始在打开这个文件(模块化编程)的时候,是打开其他文件夹里面的文件,然后在复制过来工程文件夹
此时在keil中修改的文件是另外文件夹的文件,而实际读取操作的文件是工程文件夹中未修改的文件
解决方法是copy修改完的文件到工程文件夹,然后再将该模块的文件删除并重新添加工程文件夹中的文件
回复

使用道具 举报

19#
ID:1037639 发表于 2022-8-17 13:48 | 只看该作者
函数未调用(定义)
回复

使用道具 举报

20#
ID:799053 发表于 2022-8-19 20:07 | 只看该作者
要么放在main前面,放在后面就要对函数声明,定义。
回复

使用道具 举报

21#
ID:372579 发表于 2022-8-20 21:56 | 只看该作者
函数未定义或未声明调用,或者放在main前面
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表