标题:
大哥们这个该怎么定义,怎么老是报错error C247: non-address/-constant initializer
[打印本页]
作者:
18862511786
时间:
2020-7-31 11:29
标题:
大哥们这个该怎么定义,怎么老是报错error C247: non-address/-constant initializer
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
void delay(uint);
uchar d1 = P1&0xe3;
uchar code a[]={0xff, 0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,};
void main()
{
}
void delay(uint t)
{
uchar a,s;
for(a=0;a<t;a++)
for(s=0;s<250;s++);
}
老是出现这个:..\1\1.C(5): error C247: non-address/-constant initializer
作者:
zhai1995
时间:
2020-7-31 12:04
uchar d1 = P1&0xe3; 你好好想想你这样写有什么不对,
难不成你自创的
作者:
szb314
时间:
2020-7-31 12:07
uchar d1 = P1&0xe3; 注释掉编译试试
作者:
1692483014
时间:
2020-7-31 12:13
uchar类型的a怎么能和uint型的t去比较呢?把delay里的uchar改为uint。
作者:
hsl32
时间:
2020-7-31 12:52
怎么定义了两个a
作者:
草草111111
时间:
2020-7-31 13:45
数组里面最后一个数的后面不要逗号
作者:
蓝魄
时间:
2020-7-31 14:11
先定义d1再赋值试试
作者:
npn
时间:
2020-7-31 14:14
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
void delay(uint);
uchar d1;
uchar code a[]={0xff, 0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,};
void main()
{
d1 = P1&0xe3;
}
void delay(uint t)
{
uchar a,s;
for(a=0;a<t;a++)
for(s=0;s<250;s++);
}
复制代码
作者:
18862511786
时间:
2020-7-31 14:47
hsl32 发表于 2020-7-31 12:52
怎么定义了两个a
一个是数组,一个是变量,应该不影响
作者:
18862511786
时间:
2020-7-31 14:47
npn 发表于 2020-7-31 14:14
谢谢大哥
作者:
xianfajushi
时间:
2020-7-31 15:02
从提示的行数往前去找,用注释掉的方法逐步就能排除并找到错误的原因,无需求人。
作者:
tyrl800
时间:
2020-7-31 22:28
uchar d1 = P1&0xe3; 定义变量时不能进行读操作
作者:
wufeng391
时间:
2020-8-1 07:38
原来如此,还真没有这样做过,所以也没有出现过这样的情况。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1