マクロでは浮動小数点型の比較は出来ない2010年04月25日 13時12分32秒

ふと、どうなるか疑問に思ったので試す。そう言えば、今まで一度も試してみた事はなかった。

% cat float.cpp 
#if 1.2 > 1.1
good
#else
bad
#endif

正しければ、good となる。

さて試してみる。


% cpp float.cpp 
# 1 "float.cpp"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "float.cpp"
float.cpp:1:5: error: floating constant in preprocessor expression
float.cpp:1:11: error: floating constant in preprocessor expression



bad

プリプロセッサがエラーを出してきた。出力は bad と出てきたが、まあ結果などエラーが出ている時点で無意味だろう。