質問: 同じシンボルに複数の型定義 下記のようなプログラムがありました。 同じシンボルに複数の型定義がある場合、単に後の定義が有効になるだけですか。 何のためにこんなことをやっているのか分からない。 (多分以下でスペースが表示されなくて見にくいと思いますが) #ifdef __cplusplus #define _wchart typedef wchar_t _wchart; typedef wchar_t _wintt; #else typedef __wchar_t_type__ _wchart; typedef __wchar_t_type__ _wintt; #endif
回答: ちょっと今確認できてないけど, これはまずいんじゃないかなぁ. 少なくとも, ユーザープログラムではすべきでないと思う. もっとも, __wchar_t_type__ なんていう非標準のものをしれっと使ってることからすると 特定の処理系べったり (別の処理系のことなんか考えてないもんね) なプログラムなのかもしれんけど.... あとで対応する人を不幸にしなきゃいいけど....