やばい 2019-01-31 21:06 采纳率: 0%
浏览 894
已采纳

C++ 问题 list iterator not dereferencable

大佬们 我这哪里错了呀

#include<iostream>
#include<list>

using namespace std;
int intersection(list<int>L, list<int>P, int a[]);
int cou = 0;
int a[10];

int main()
{
    list<int>L;
    list<int>P;
    L.push_back(1);
    L.push_back(3);
    L.push_back(4);
    L.push_back(6);

    P.push_back(1);
    P.push_back(2);
    P.push_back(3);
    P.push_back(4);
    P.push_back(5);
    P.push_back(6);
    P.push_back(7);
    intersection(L, P,a);
    for(int j=0;j<cou;j++)
    {
        cout << a[j] << endl;

    }
    getchar();
}
int intersection(list<int>L,list<int>P,int a[ ])
{
    int i = 0;


    for (list<int>::iterator itrl = L.begin();;++itrl)
    {
        for (list<int>::iterator itrp = P.begin();*itrp<=*itrl; ++itrp)
        {if(*itrl=*itrp)
        {
            a[i] = *itrl;
            i++;
            cou++;

        }
        }
    }
    return cou;
}
  • 写回答

1条回答 默认 最新

  • 星尘如我 2019-01-31 23:02
    关注
    for (list<int>::iterator itrl = L.begin();;++itrl)//这句没有终止条件改为for (list<int>::iterator itrl = L.begin();itrl !=L.end();++itrl)
    {
        for (list<int>::iterator itrp = P.begin();*itrp<=*itrl; ++itrp)
        {
                if(*itrl=*itrp)//这里是赋值,恒为true,不是条件判断,要加个=号
        {
            a[i] = *itrl;
            i++;
            cou++;
    
        }
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥100 已有python代码,要求做成可执行程序,程序设计内容不多
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助
  • ¥15 STM32控制MAX7219问题求解答