C 语言宏不可以调用 sizeof吗

2019-07-20 21:54发布

                 #if( sizeof(jisuan_yong_t) >512) #error sizeoferr
                 #endif
                想检测一个结构体是否大于512个 用于存e2rom 怎么提示Error[Pe059]: function call is not allowed in a constant expression   

                IAR



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
zmingwang
1楼-- · 2019-07-20 23:19
这样写不行,sizeof是一个C语言的运算符,要编译过后才知道值,而#if是预编译,是在编译之前执行,所以就算不出错,sizeof也不会有值
gotofly21
2楼-- · 2019-07-21 00:05
嗯嗯 ,不过找了个相关到方法 http://blog.csdn.net/crazycoder8848/article/details/8292770
Lone
3楼-- · 2019-07-21 01:20
 精彩回答 2  元偷偷看……

一周热门 更多>