-1
関数オブジェクトを使用するテンプレート関数を記述しようとしています。 関数オブジェクトが取得するparamはstd::set
(タイプint
)です。 何らかの理由で、私がセットを:for(auto curr: set)
と投げようとしているとき、それはforループに入りません、それはそれがstlセットであると認識しないのです!関数オブジェクトは、取得するパラメータ(std :: set <int>)を認識しません
MAIN:これはテンプレートです
int main()
{
Functor object_x;
SetInt set_1={1,2,6,4,3};
SetInt set_output;
set_output=mtmAlgorithem_2(set_output ,set_1,object_x);
return 0;
}
は:
class Functor
{
public:
bool operator()(SetInt &before_x, SetInt &after_x){
bool res=true;
for(int curr_1: before_x){
//------------not getting here---------------!!!!!!!!!!!!!!
for(int curr_2: after_x){
if(curr_1>curr_2){
res=false;
break;
}
}
}
std::cout<<"lla"<<std::endl;
return res;
};
};
'SetInt'はどこに定義されていますか? –