によって受け入れられないジェネリック上で動作します次のコンパイルエラー(G ++、C++ 14):はファンクタは、私たちは、コードの次のセクションを見てみましょうfind_if
error: no matching function for call to 'find_if(std::vector<int>::iterator,std::vector<int>::iterator,const int&,MyClass<int,bool(*)(int,int)>::my_functor)
T
がでありますこの特定の例ではである。
ここで問題と思われるものは何ですか?
PS:必要なすべてのヘッダーが含まれています(アルゴリズム、ベクトル、機能など)。問題はありません。
'、v'はここで行うべきことがあります。 'find_if'は範囲とファンクタをとります。 – Quentin
_ "ファンクタはテンプレートなしでうまく動作しますT" _私はそれを非常に疑っています。そうであれば、比較する値と述語の両方を渡しながらコンパイルするこの神話コードを表示します。 –
@underscore_dテンプレート化されていないバージョンを試していたときにvを除外するようにしましたが、テンプレート版では何らかの理由で除外しなかったのでうまくいきました。私の(非常にばかげた)間違い、申し訳ありません。編集されました。 –