开发者社区> 问答> 正文

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

#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
报了这样的错误,求大神解答

展开
收起
a123456678 2016-03-06 13:24:34 2076 0
1 条回答
写回答
取消 提交回答
  • 1、list容器是一个有模版参数的类,所以定义的时候需要加上模版参数,
    2 , if (!*it)
    {
    la.push_back(*rit);
    }

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

    2019-07-17 18:54:26
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
使用C++11开发PHP7扩展 立即下载
GPON Class C++ SFP O;T Transce 立即下载
GPON Class C++ SFP OLT Transce 立即下载