我如何创建结构的std :: set?

问题描述 投票:5回答:2

我需要创建一个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 mySet; //点-结构的名称。然后,我尝试将结构实例添加为mySet,方式为...

c++ struct stl set containers
2个回答
9
投票

std::set模板提供了一个关联容器,其中包含一组排序的唯一对象。那里的关键词是sorted


0
投票

要在Point上展开,因为WhozCraig's answer,所以您也可以使用C++11而不是定义比较对象。对于以下代码中的lambda表达式,我还假设您的lambda expression类仅由Pointx成员组成:

© www.soinside.com 2019 - 2024. All rights reserved.