私が読んで試したことから、デフォルトの引数を関数テンプレートに置くことはできません。私はコンパイラからも、他の人たちからも何とか答えています...私は新聞であり、より技術的な回答のいくつかは理解しにくいので、私は尋ねています。このための回避策はありますか?私はこのためにクラスを作ることができると仮定し関数テンプレートのデフォルト引数C++
template <typename Type, typename Compare = std::less<Type> >
Type FindMax(std:vector<Type> &vec, Compare comp = Compare()) {
return *std::max_element(...
}
を、それは多くの作業のように思える:私はつまり...オーバーロードするオプションを指定して、デフォルトのリレーショナル演算子を使用しますが、findmax機能を作成しようとしています私が本当に欲しいのはひとつの機能です...ありがとう!
私は私が前に見てきた何かについてだけでなく、別の質問を追加する必要があります
具体的には、(cmpFn)何で、この関数tempateをするのかどう...)デフォルトの引数はやって?
template <typename ElemType>
ElemType FindMax(Vector<ElemType> &v, int (cmpFn)(ElemType, ElemType) = OperatorCmp)
* [C++テンプレート関数のデフォルト値](http://stackoverflow.com/questions/3301362/c-template-function-default-value)*の重複が考えられます。 –