I want to define a macro if a condition involving sizeof
is true and do nothing (but still compile) if it is false. If the preprocessor supported sizeof
, it would look like this:
#if (sizeof(void*) <= sizeof(unsigned int)) // what goes here?
# define POINTER_FITS_INTO_UINT
#endif
There are some pages (e.g. http://scaryreasoner.wordpress.com/2009/02/28/checking-sizeof-at-compile-time/) which explain how to make a compile-time assertion on sizeof
(and fail to compile if it fails), but I don't see a way to extend this approach to what I want.