Compile time assert
Write Portable Code より。
コンパイル時のアサート #define CASSERT( exp, name ) typedef int dummy##name[ (exp) ? 1 : -1 ]; 使用例 CASSERT( sizeof(int) == sizeof(char), int_as_char ) => 失敗する
Write Portable Code より。
コンパイル時のアサート #define CASSERT( exp, name ) typedef int dummy##name[ (exp) ? 1 : -1 ]; 使用例 CASSERT( sizeof(int) == sizeof(char), int_as_char ) => 失敗する