sizeofは演算子であり、コンパイル時に整数定数に評価されることを理解しています。ただし、次のような#ifプリプロセッサディレクティブでは使用できないようです。
#if 4 == sizeof(int)
typedef int Int32;
#endif
(cygwin-gcc3.4.4およびVisualC ++ 6.0はコンパイルエラーを報告します)
なぜそのような使用は許可されないのですか?
sizeofは演算子であり、コンパイル時に整数定数に評価されることを理解しています。ただし、次のような#ifプリプロセッサディレクティブでは使用できないようです。
#if 4 == sizeof(int)
typedef int Int32;
#endif
(cygwin-gcc3.4.4およびVisualC ++ 6.0はコンパイルエラーを報告します)
なぜそのような使用は許可されないのですか?