如果涉及的条件为真,我想定义一个宏,sizeof
如果它为假,则什么都不做(但仍然编译)。如果预处理器支持sizeof
,它将如下所示:
#if (sizeof(void*) <= sizeof(unsigned int)) // what goes here?
# define POINTER_FITS_INTO_UINT
#endif
有一些页面(例如http://scaryreasoner.wordpress.com/2009/02/28/checking-sizeof-at-compile-time/)解释了如何在编译时断言(sizeof
如果编译失败)它失败了),但我看不到将这种方法扩展到我想要的方法。