宏定义中Error[Pe029]: expected an expression
2016-03-11 22:47
621 查看
在定义读写字节宏时出现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)
相关文章推荐
- 数据插入与删除
- String ,Stringbuffer ,StringBuilder;
- matlab小问题
- 练习轮播海报
- 八皇后问题最简单的解法
- 冒泡排序和快速排序
- 事件处理
- 深入flask之异步非堵塞实现
- iOS模拟器,点击textfield为什么不弹出软键盘
- jQuery——常用方法
- ::操作全局变量
- 汉诺塔解法C语言实现
- 马虎的算式(穷举暴破)
- Android子线程中更新UI的3种方法
- Linux下安装SVN服务端小白教程
- 指针使用错误
- NSDirectoryEnumerator
- AlphaGo>李世石?1:0
- VMmare12.0.0安装RedHat6.5使用net模式上网
- 二进制中1的个数