3
私は#elseifは
#ifdef ...
#elseif defined(...)
#else
#endif
を書くことはいつもの#ifdefまたはの#else条件、決して#elseifのいずれかを使用して、その結果ことを見出しました。しかし、#elifを代入すると、定義した内容に基づいて期待どおりに動作します。どのような複雑な目的があれば、それは#elseifの存在によって提供されますか?そして、もし存在しなければ、プリプロセッサはなぜ不平を言っていませんか?
これは何十年(本当に何十年も)の間、おそらく私は醜い#else /#endifブロックを使ってきました。
'#ifdef'の後のものが定義されている場合は、「無効な前処理ディレクティブ」エラーが表示されます。 ([例](http://ideone.com/FCPtSD)) – molbdnilo