0

これは、私のコードの単純化されたバージョンです。基本的に、STL SET を関数パラメーターとして渡そうとしていますが、そうすることができません。次のエラーが表示されます

エラー: void foo(int) への引数 '1' の 'std::set,std::allocator を 'int' に変換できません

エラー: テンプレート引数 1 が無効です

エラー: テンプレート引数 2 が無効です

エラー: テンプレート引数 3 が無効です

これは、エラーが派生したコード サンプルです。

#include <iostream>
#include <set>
using namespace std;

void foo(set<foobar>);

class foobar
{
   public:

   int x;

};

int main()
{

  set<foobar> foobar_set;

  foo(foobar_set);


}

void foo(set<foobar> foobar_set)
{

}

質問: STL セットを関数パラメーターとして渡すにはどうすればよいですか??

、ローカル スコープまたはグローバル スコープの STL セットはどのくらいの期間存在しますか??

4

4 に答える 4