...error C247: non-address/-constant initializer

发布网友 发布时间:2024-10-24 02:32

我来回答

1个回答

热心网友 时间:2024-11-02 22:48

在头文件:ABSACC.H中,是有一行:
#define DBYTE ((unsigned char volatile data *) 0)
所以,在程序中是可以直接使用DBYTE,实际上编译时要替换成 ((unsigned char volatile data *) 0)这种格式了。
这就是绝对地址的指针了。所以,不能再用rval = DBYTE [0x0002];这种写法定义绝对地址的。
这一行是不能用在主程序前面的,不能作为声明变量的,而这是要作为赋值语句的。
正确方法是,要先声明变量rval:unsigned char rval;
在主程序中再给rval赋值:rval = DBYTE [0x0002];//这是赋值了,不是声明变量
这样的变量:rval=(0x0002),就是等于绝对地址(0x0002)中数据了。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com