在定义读写字节宏时出现Error[Pe029]: expected an expression。
我的定义如下:
#define READ_RAM(p, type) (*(((type)*)(p)))//错误 #define READ_RAM8(p) READ_RAM(p, u8)用法:u8 test = 0; u8 *p = &test; u8 value = READ_RAM8(p);//Error[Pe029]: expected an expression后来逐步推敲,验证。终于搞清楚u8 value = *((u8 *)(p));//OK u8 value = *(((u8) *)(p));//error所以,正确写法是:
#define READ_RAM(p, type) (*((type *)(p)))//错误
#define READ_RAM8(p) READ_RAM(p, u8)
在进行宏定义时遇到Error[Pe029]错误,文章详细描述了该错误在尝试定义READ_RAM宏以读取内存中字节时出现。通过逐步调试和验证,找到了问题的根源,并提供了正确的宏定义修复方案,指出正确的写法是使用`(*((type *)(p)))`来避免该错误。

1万+

被折叠的 条评论
为什么被折叠?



