gpt4 book ai didi

c++ - std::out_of_range 错误?

转载 作者:行者123 更新时间:2023-11-28 03:57:28 25 4
gpt4 key购买 nike

我正在处理一个包含行链接列表的文件,每个节点如下所示:

struct TextLine{
//The actual text
string text;
//The line number of the document
int line_num;
//A pointer to the next line
TextLine * next;
};

我正在编写一个函数,通过调用 linelist_ptr->text.insert(0,1, '\t');

程序可以编译,但是当我运行它时出现这个错误:

terminate called after throwing an instance of 'std::out_of_range'
what(): basic_string::at
Aborted

有什么想法吗?

最佳答案

您在代码中的某处使用了 std::string::at() 但您传递给它的索引不正确,因此它会抛出。由于您没有捕获任何异常,它会从 main() 传播出去并调用 terminate(),从而终止进程。

您展示的代码不会以这种方式失败,因为 std::string::insert() 不调用 std::string::at(),参数也不调用。请在您的代码中添加异常处理,如果您仍然找不到错误,请发布您的代码的较大部分(或整个文件,最好是 http://codepad.org)。

关于c++ - std::out_of_range 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2918267/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com