ためのstd :: enable_if:C++ - 私は機能を持っているより多くの種類の
template <typename T,
typename std::enable_if <std::is_same<T, int>::value == true>::type* = nullptr>
void test(T i)
{
//process data
}
それは動作します。
しかし、int
だけでなく、float
とconst char *
でもこの機能を有効にする必要があります...同じ方法を3回実行しないでこれを行うにはどうすればいいですか?このよう
1つの提案。恐らく、過負荷の選択において修飾子が重要でないならば、おそらく 'remove_cv'を使うことができます。 –
@ YanZhouパラメータ 'i'は参照渡しではなく値渡しであるため、constnessと揮発性はとにかく削除されます。したがって、 'T'はCVで修飾されず、' remove_cv'はその型に対して何もしません。 –