LClearner 2017-07-30 02:13 采纳率: 50%
浏览 18430
已采纳

C++ 未经处理的异常: 将一个无效参数传递给了将无效参数视为严重错误的函数

图片说明0x0FA5E636 (ucrtbased.dll) (set.exe 中)处有未经处理的异常: 将一个无效参数传递给了将无效参数视为严重错误的函数。 这是哪里错了

 #include<iostream>
#include<set>
#include<vector>
#include<string>
using namespace std;
string find_book(vector<string> & abooklist, set<string> &abooks);
int main()
{
    vector <string> booklist;// the books I wanna read
    booklist.push_back("a");
    booklist.push_back("b");
    booklist.push_back("c");

    set<string> books;//the books I have read
    books.insert("a");
    books.insert("c");
    books.insert("x");
    books.insert("g");

    cout<<"the book for you : "<<find_book(booklist, books)<<endl;
    getchar();
    return 0;
}

string find_book( vector<string> & abooklist, set<string> &abooks )
{
    //find a book from booklist that can not be found in books
    vector<string>::iterator iter = abooklist.begin();
    while (iter != (abooklist.end()))
    {
        if (!abooks.count(*iter))
        {
            string temp=*iter;
            abooks.insert(*iter);
            abooklist.erase(iter);//remove the book found int booklist 
                                                                            //and put it in books
            return temp;
        }

        iter++;
    }
    return "not found";
}

  • 写回答

4条回答 默认 最新

  • oyljerry 2017-07-30 02:38
    关注

    迭代器删除要注意处理

    iter = abooklist.erase(iter);
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?