在keil uv2中出现‘P1’:not in formal parameter list啥意思?该怎么改?

如题所述

函数定义有两种方法,一种是标准方法,或者称做正规(formal)方法。就是常见的:

程序代码:
int f(int a, int b)
{ /* ... */ }

还有一种是为了兼容老式写法,而留下的:

程序代码:
int f(a, b)
int a, b;
{ /* ... */ }
你写的那个,编译器一定没看见用于开始定义的 {
所以就觉得你后面写的那一大堆都是老式参数列表。所以给了警告,警告的内容是not in formal parameter list (不是正规参数列表),这种写法现在已经极力反对了。

以上见于大神pangding的回答。
你检查一下函数定义后,{}是否存在
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-07-26
你将错误信息写全才知道具体错在什么地方。这意思是:P1不在形式参数列表里面。
仔细检查一下程序,看看参数或函数申明时候,是不是漏掉了分号。
第2个回答  2013-07-09
P1不是规范的参数。
你是不是把P1作为函数的参数进行传递了。追问

我调用了reg52.h文件,在里面已经定义了P1,(sfr P1 = 0x90;)然后我用的语句是:P1=0xfe;就出错了

追答

只有这一个错误吗?前面是否还有其它错误?怀疑这是一个由前面错误导致的衍生错误。
把详细的出错提示按顺序贴出来。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网