...
Unfortunately, this solution is not portable. The C standard does Standard does not require that implementations support sizeof
, offsetof
, or enumeration constants in #if
conditions. According to Section section 6.10.1, "Conditional inclusion," all identifiers in the expression that controls conditional inclusion either are or are not macro names. Some compilers allow these constructs in conditionals as an extension, but most do not.
...