预定义报错?

[复制链接]
2341|3
 楼主| 457878 发表于 2012-3-15 09:49 | 显示全部楼层 |阅读模式
typedef struct
  {
   char   Blank;
char  aaa;
char bbbb;
  }__TYPE_FLASH_IDCARD;   //total 14 bytes


#if((sizeof(__TYPE_FLASH_IDCARD))%2 == 0)
#define NUM_TOTAL_IDS  (UINT16)((FLASH_TOTAL_SPACE / sizeof(__TYPE_FLASH_IDCARD))-0.5)
#elif
#define NUM_TOTAL_IDS  (UINT16)((FLASH_TOTAL_SPACE / (sizeof(__TYPE_FLASH_IDCARD) + 1)-0.5)
#endif

Error [1002] syntax error, '')'' expected
Error [1002] syntax error, '')'' expected
Error [1029] malformed expression in '#if'
Error [1002] syntax error, 'constant' expected
Error[1029] malformed expression in '#elif'
sjnh 发表于 2012-3-15 12:46 | 显示全部楼层
#elif 要有条件 , 没有用#else
少了个) ,数数吧
#define NUM_TOTAL_IDS  (UINT16)((FLASH_TOTAL_SPACE / (sizeof(__TYPE_FLASH_IDCARD) + 1)-0.5)
yewuyi 发表于 2012-3-15 16:01 | 显示全部楼层
如楼上,()在NUM_TOTAL_IDS中不成对啊。
liang7143 发表于 2012-3-15 19:15 | 显示全部楼层
如 2,3楼所言

#if((sizeof(__TYPE_FLASH_IDCARD))%2 == 0)
在预编译的时候  
sizeof(__TYPE_FLASH_IDCARD) 的值应该是 未知的 吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

270

主题

885

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部