typedefについて確認させてください
いいじまです。
「typedefで定義される型は、#if で演算に用いることはできない」
上記の命題はあっているでしょうか。
たとえば、こんなコードです。
//---システムが用意するヘッダファイル
typedef unsigned short wchar_t;
//---それを #include するコード
#if sizeof(wchar_t)==2
#define UCS2 wchar_t;
typedef uint_least32_t UCS4;
//後略
これはプリプロセッサの段階でエラーになるのが正しいんですよね。
#そもそも char が 8 ビットということすら規格は保証していないので、
#sizeof(short)==2 なんて無意味なんですが。
で、wchar_t に関しては素直に WCHAR_MAX を見て判定するのが吉、と。
========================================================================
飯嶋 浩光 / でるもんた・いいじま http://www.ht.sakura.ne.jp/~delmonta/
IIJIMA Hiromitsu, aka Delmonta mailto:delmonta@ht.sakura.ne.jp
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735