本帖最后由 pentral2010 于 2010-5-11 11:12 编辑
在.h文件定义
__packed typedef struct
{
INT8U d[5];
}__F1;
__packed typedef struct
{
INT8U d[5];
}__F2;
__packed typedef struct
{
INT8U d[5];
}__F3;
__packed typedef struct
{
__F1 FF1;
__F2 FF2;
__F3 FF3;
}__ALL_TABLE_DEFINE;
在.c文件
#if (sizeof(__ALL_TABLE_DEFINE)>3 )
#error "very good"
#endif
编译器给出
#error : #59 :function call is not allowed in a constant expression
在sizeof的原文件说,它可以测试数据 或类型的
但是这里就是不允许这样条用,不知道大伙有没碰到过 |