C++ List容器 find函数能否含有结构体
#include<iostream>#include<list>#include<algorithm>usingnamespacestd;structdd{intj;in...
#include<iostream>
#include<list>
#include<algorithm>
using namespace std;
struct dd
{
int j;
int i;
};
int main()
{
list<struct dd>List_d;
list<struct dd>::iterator iter;
struct dd test;
test.i=3;
test.j=4;
List_d.push_front(test);
List_d.push_front(test);
List_d.push_front(test);
iter=find(List_d.begin(),List_d.end(),test.j);
return 0;
} 展开
#include<list>
#include<algorithm>
using namespace std;
struct dd
{
int j;
int i;
};
int main()
{
list<struct dd>List_d;
list<struct dd>::iterator iter;
struct dd test;
test.i=3;
test.j=4;
List_d.push_front(test);
List_d.push_front(test);
List_d.push_front(test);
iter=find(List_d.begin(),List_d.end(),test.j);
return 0;
} 展开
1个回答
展开全部
当然可以有结构体,而且像你这样用当然不行
find( start, stop , target) 是从 start到 stop 寻找数据是target的那个iterator, 而你这里呢, List_d.begin()的 reference_type 是 struct dd , 所以你也只能找 struct dd型的东西(当然你也必须有 struct dd的 operator ==) , 而你给的第三个参数是个int,这当然没戏。
find( start, stop , target) 是从 start到 stop 寻找数据是target的那个iterator, 而你这里呢, List_d.begin()的 reference_type 是 struct dd , 所以你也只能找 struct dd型的东西(当然你也必须有 struct dd的 operator ==) , 而你给的第三个参数是个int,这当然没戏。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询