1
全身。 私はC++のコードを読んでいましたが、私はこの2つのテンプレートに直面しています。
最初:C++ - autoおよびdecltypeの代替品
template <class T>
float wrap_360(const T angle, float unit_mod)
{
const float ang_360 = 360.f * unit_mod;
float res = fmodf(static_cast<float>(angle), ang_360);
if (res < 0) {
res += ang_360;
}
return res;
}
2つ目は、次のとおりです。
template <class T>
auto wrap_360_cd(const T angle) -> decltype(wrap_360(angle, 100.f))
{
return wrap_360(angle, 100.f);
}
最初のものは私にとって明白であるが、2番目の1が言いたい正確に何??
実際、私のコンパイラはC++ 11をサポートしていないので、 "auto"と "decltype"は認識しません。
このコードをUnder C++ 11コンパイラで理解できるように変更するにはどうすればよいですか?
助けがあれば助かります。 ありがとうございます。
どのC++コンパイラを使用していますか? –
暗闇から抜け出す。これは技術、情報学です。進む。 – DeiDei
'wrap_360()'は、引数型 'T'に依存しない' float'を返します。これが唯一のオーバーロードであれば、 'float wrap360_cd(const T angle)'を使うことができます。 –