私は数字を出力するC++テンプレート関数を持っています。テンプレート内に文字をキャストする関数
タイプchar
のデータを使用している場合を除いて、すべての処理が正常に動作します。
私はint
として印刷しますが、これをテンプレート関数で明示的にキャストした場合、float
タイプの精度が失われます。
私が言っできるようにしたいと思います:
template<class T> bob(T a){
cout<<if_char_make_int(a)<<endl;
}
しかし、それは可能であるならば、私はこれを行う方法がわからないんだけど、か。
どのような考えですか?より多くの場合
をホープ、あなたはまた、オーバーロードを使用することができます。私。 'template <>'を削除するだけです。 – MSalters
これは洗練されているようですが、関数が複雑であれば、特殊化は重複したコードになります。 Mankarseは、私が探していたものの精神に似ていると思われる解決策を提供しますが、それ以外の優れた答えと役に立つリンクに感謝します。 – Richard