これは、私のコードの単純化されたバージョンです。基本的に、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 セットはどのくらいの期間存在しますか??