テンプレートクラスの関数でfloat to bool変換のパフォーマンス警告を削除したいと考えています。この場合、boost::enable_if
は過剰な感じです。C++テンプレートクラスのパフォーマンス警告を削除します
は多分、コンパイル時にテンプレートの種類を確認して、種類に応じて適切なキャストを使用する方法がありますか?私は警告を無効にしたくない
#if (boost::is_same<CType, bool>::value == true)
val = (val+val2)!=0;
#else
val = (T)(val+val2);
#endif
:
T val;
float val2;
val = (T)(val+val2); // warning here for objects of type bool
は、私はこのような何かをしたいです。
編集:追加されましたVisual Studioのタグ
スタックオーバーフローへようこそ!コンパイラ警告は、使用しているコンパイラに固有の警告です。この質問にはコンパイラに適切なタグを付けてください。 –
bool型のテンプレートを特殊化できます。 – Collin
おかげでコリンが、1回の警告を修正するための特殊化を作成するには、私にはやり過ぎのビットのように思えます。確かに便利な方法があるはずですか? – s0ndeb0k