gpt4 book ai didi

c++ - 编程错误 - 让我退出程序

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

我有一组段号。这些段属于具体对象。也就是说,一个对象有很多段。部分标签告诉哪个段属于哪个对象。所以,现在我想根据对象标签拆分我的段号。

为此,我在下面编写了一段代码。假设,我知道对象的数量(比如最大值)。

the class Segments is defined with vector of Segment

Segments  mysegments;
Segments::const_iterator itr;
vector<Segments> segments_per_obj;

segments_per_obj.resize(max);

for (itr= mysegments.begin(); itr!= mysegments.end(); itr++){
segments_per_obj[itr->Label()].push_back(*itr);
}

当我编译时,它没有给出任何错误。但是当我运行 (myprog.exe) 时,它会退出我的程序并给出错误窗口告诉我

myprog.exe has encountered a problem and needs to close. We are sorry for the inconvenience.
Please tell Microsoft about this problem.

最佳答案

试试这个:

Segments  mysegments;
Segments::const_iterator itr;
vector<Segments> segments_per_obj;


for (itr= mysegments.begin(); itr!= mysegments.end(); itr++)
{
int index = itr->Label();
for (int i = segments_per_obj.size(); i <= index; ++i)
{
segments_per_obj.push_back(<create a new segment>);
}

segments_per_obj[index].push_back(*itr);
}

或者按照建议使用 map ,看起来更适合这种情况。

关于c++ - 编程错误 - 让我退出程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17478484/

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