私は、次の質問を持っている:パスの一般的な機能
私はそれが動作しない別のものにテンプレート関数を渡すが、私はテンプレート関数に、通常の1を渡すとき、それは例えば、通常のコンパイル:
template<class It, class Pred>
It findif(It begin,It end, Pred pr){
while (begin!=end && !pr(*begin))
begin++;
return begin;
}
bool p(const string& s){
/* some code */
}
私はそれが動作するfindif Pを渡すが、これはしません:
template<class It, class Pred>
It findif(It begin,It end, Pred pr){
while (begin!=end && !pr(*begin))
begin++;
return begin;
}
template<class T
bool p(const T& s){
/* some code */
}
どのように渡しますか?どのようなエラーが出ますか? – NathanOliver
おそらく、インスタンス化されていないテンプレートをalgoに渡そうとしています。あなたはそれを行うことはできません、テンプレートは呼び出し可能なオブジェクトではありません。 C++には汎用関数もありません。 – SergeyA
@ NathanOliver <未解決のオーバーロードされた関数> –