我需要创建一个stl::set
结构。因此,我写了以下内容:
stl::set <Point> mySet; // Point - name of the structure.
然后我尝试将结构实例添加到mySet
,如下所示:
Point myPoint;
mySet.insert(myPoint);
但是,我遇到了几个编译错误(错误C2784,错误C2676):
1> C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC \ include \ xfunctional(125):错误C2784:bool std :: operator &,const std :: vector <_ty>&):无法将参数带到来自“ const Point”的模板“ const std :: vector <_ty>&”
1> C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC \ include \ xfunctional(125):错误C2676:二进制“
如何编译我的代码?
我需要创建一个stl :: set结构。因此,我写了以下内容:stl :: set
std::set
模板提供了一个关联容器,其中包含一组排序的唯一对象。那里的关键词是sorted
要在Point
上展开,因为WhozCraig's answer,所以您也可以使用C++11而不是定义比较对象。对于以下代码中的lambda表达式,我还假设您的lambda expression类仅由Point
和x
成员组成: