intをダブル変換するためのコンパイラの警告を有効にする方法はありますか?つまりdouble value = 2;
?intからdoubleへの暗黙的な変換に関するコンパイラの警告
これはあまりにも制限的に見えるかもしれませんが、私は、数学的ソフトウェアのようないくつかのケースでは、このような制限がコンパイル時にいくつかのバグを受け入れることができると信じています。
ターゲットコンパイラはgcc/clangです。
double - > int変換に関して多くの質問がありますが、その逆もあります。有用な情報は見つかりませんでした。
ダブルが必要な場合は、そのダブルを正確に表すことができるかどうかにかかわらず、ダブルが必要です。 –
強い入力が重要な場合は、厳密に型指定された言語を選択します。ここにデータが失われることはありません。だから、コンパイラはなぜあなたに警告しますか? – littleadv
GCC(4.6.1)は '--help = warnings'でこのオプションをリストしています: ' -Wconversion-extra'ほとんどの暗黙的な変換について警告します。 'cc1:警告:コマンドラインオプション '-Wconversion-extra'はFortranでは有効ですが、Cでは無効です。[デフォルトで有効]' –