Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 列出向量元素(C+;+;)时程序崩溃_C++_Crash - Fatal编程技术网

C++ 列出向量元素(C+;+;)时程序崩溃

C++ 列出向量元素(C+;+;)时程序崩溃,c++,crash,C++,Crash,我试图在15行输出后暂停列出四个向量的元素,到目前为止,它满足了我的要求,但在函数结束时崩溃了 void List(vector<string> itemNumb, vector<string> itemName, vector<double> itemCost, vector<int> itemQuant, int length, int index) { index = 0; length = i

我试图在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++;
        }
    }
void列表(vector itemnum、vector itemName、vector itemCost、vector itemQuant、int length、int index)
{
指数=0;
长度=itemNumb.size();

while(index它崩溃,因为当
index
==
length
时,语句
index++
使变量增加,
while
再次执行,然后您访问
itemnum[length+1]
超出了边界。

它崩溃是因为当
索引
=
长度
时,语句
索引+
使变量增加,
同时执行一次
,然后访问
ItemNum[length+1]
这超出了边界。

因为你在向量之外进行迭代,因此会发生崩溃,只需更改
索引因为你在向量之外进行迭代,因此会发生崩溃,只需更改
索引。这就是为什么在我看来,使用循环在容器/数组等中进行迭代更安全的原因。这就是为什么,在我看来,我认为使用循环遍历容器/数组等更安全。