开发者社区> 问答> 正文

c++,list里面内容,不知错在哪里,求解答

a123456678 2016-03-06 13:24:34 840
#include "stdafx.h"
#include 
#include
//#include
#include 
using namespace std;
void unio(list &la, list lb);
typedef list intlist;
int main()
{
intlist LA = {3,5,8,11};
intlist LB = { 2,6, 8, 9,11,15,20 };
unio(LA,LB);
intlist::iterator it;
for (it = LA.begin(); it != LA.end(); it++)
cout << *it << " " << endl;
system("pause");
return 0;
}
void unio(intlist &la, intlist lb)
{
auto la_len = la.size();
auto lb_len = lb.size();
intlist::iterator rit;
for (rit = lb.begin(); rit != lb.end();rit++)
{
intlist::iterator it = find(la.begin(),la.end(),rit);
if (!*it)
{
la.push_back(*rit);
}
}
}

错误 1 error C2678: 二进制“==”: 没有找到接受“int”类型的左操作数的运算符(或没有可接受的转换) c:program files (x86)microsoft visual studio 12.0vcincludexutility 3026 1 table
报了这样的错误,求大神解答

C++
分享到
取消 提交回答
全部回答(1)
  • a123456678
    2019-07-17 18:54:26

    1、list容器是一个有模版参数的类,所以定义的时候需要加上模版参数,
    2 , if (!*it)
    {
    la.push_back(*rit);
    }

    find()函数的返回值是找到的值,如果没有找到的话就是容器的结尾:end()。
    因此改为
    if(it!=la.end())

    0 0

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题