sizeof conditional во время компиляции

Я хочу определить макрос, если условие, связанное с 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 (и не выполнить компиляцию в случае сбоя), но я не вижу способ расширить этот подход до того, что я хочу.

15
задан Brian Tompsett - 汤莱恩 3 March 2016 в 10:27
поделиться