誰もが、このキャストが効果(1337にhappyNumberを設定する以外に)を持っていることを教えてもらえますか、それが他の効果を持たない場合、どうすればこのようなコードを書くことができますか?これはコンパイラのバグか、C++の「隠された機能」ですか?複数の引数を持つstatic_castについて教えてください。
int happyNumber = static_cast<int>(123.456, TRUE, "WTF" , false , "IS" , NULL , "GOING" , 0xff , "ON???" , 1337);
これはまったくコンパイルされませんでした。私は間違って2番目のパラメータをキャストされている式の関数呼び出しに行くものに設定したバグで見つけました。これは、オブジェクトが2つ目の引数からキャストされ、引数が1つのみの関数を呼び出すという厄介なバグを引き起こしました。これは、コンパイル...そして、最初に私は、Microsoft Visual C++ 2008
これは完全に合法で、バグはありません。 – Anonymous
ああ、そうです。私はコンパイラのバグでなければならないことを知っていたので、それは私にとってはとても混乱していました。以前はカンマ演算子に遭遇したことがありませんでした。 – Statement