列出向量元素时程序崩溃(c++)
Program crashes when listing out vector elements (C++)
我试图在15行输出后暂停列出四个向量的元素,到目前为止它做了我想要的,但它在函数结束时崩溃了。
void List(vector<string> itemNumb, vector<string> itemName, vector<double> itemCost, vector<int> itemQuant, int length, int index)
{
index = 0;
length = itemNumb.size();
while (index <= length)
{
cout << "======================" << endl;
cout << itemNumb[index] << endl;
cout << itemName[index] << endl;
cout << itemCost[index] << endl;
cout << itemQuant[index] << endl;
if (index % 15 == 14)
{
system("pause");
system("cls");
}
index++;
}
}
我只是错过了一些明显的东西,厌倦了,不熟悉c++也没有帮助。
由于你在向量外迭代,因此会崩溃,只需将index<=length
更改为index != length
,它应该可以工作
它崩溃了,因为当index
== length
时,语句index++
使变量增加,while
再次执行,然后您正在访问超出边界的itemNumb[length+1]
相关文章:
- 当回溯以零开始时,如何调试崩溃
- 内联映射初始化的动态atexit析构函数崩溃
- 执行函数时导致崩溃的变量
- 程序崩溃并显示"std::out_of_range"错误
- CoInitialize()在单独的线程上崩溃而不返回
- 使用调试/崩溃报告将应用程序部署到客户端
- 为什么所有C++编译器都会崩溃或挂起此代码
- 为什么lambda在clang上崩溃而不是在gcc上崩溃
- 为什么我的多线程作业队列崩溃
- ExtractIconEx:可以工作,但偶尔会崩溃
- 为什么引用传递会导致此崩溃(C++)
- 试图创建流或fopen时程序崩溃
- 类对象数组的问题会导致崩溃
- 排序时无法执行交换操作.我做的时候它会崩溃.为什么
- 为什么要增加导致崩溃的指针
- 在虚幻引擎中删除NXOpen对象时崩溃
- 为什么它只打印双链接列表的第一个值,而我的程序却崩溃了
- 应用程序崩溃并显示"symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference"
- Visual Studio在尝试读取resource.txt文件时崩溃
- 将方法转换为调用该方法的成员函子对象会导致崩溃