这是我的代码的简化版本,基本上我试图将 STL SET 作为函数参数传递,但我无法这样做。我收到以下错误
错误:无法将 'std::set,std::allocator 转换为 'int' 以将争论 '1' 转换为 void foo(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 Set 存在多长时间,本地范围或全局范围?