簡體   English   中英

矢量2D首次使用

[英]Vectors 2D first usage

這是我第一次在C ++中使用2D向量,盡管循環的索引小於它的大小,但我似乎正在嘗試訪問禁止的位置

int generate_(vector<int> row,vector<int> column)
{
    int i=1,j=1,k=0,l=0;
    vector<vector<int > >matrix;//2D vector


    for(k=0,l=0;l<column.size();l++)
    {
        matrix[k][l]=row[l];
        cout << matrix[k][l]<<endl;
    }

    for(k=0,l=0;l<row.size();l++)
        matrix[l][k]=column[l];

        for(i=1;i<row.size();i++)
        {
                for(j=1;j<column.size();j++)
                {
                matrix[i][j]=matrix[i][j-1]+matrix[i-1][j]+matrix[i-1][j-1];

                }
        }
    return matrix[i-1][j-1];
}

矩陣未初始化,沒有元素,因此matrix [k] [l]將引發異常

了解您試圖初始化矩陣中的數據,但是您必須在初始化之前為此矩陣分配內存。

改變這條線

vector<vector<int > >matrix;//2D vector

vector<vector<int > >matrix(column.size(), vector<int>(column.size(), 0));

等於:

vector<int> intVector(column.size(), 0)
vector<vector<int > >matrix(column.size(), intVector);

[圖像從www.stackover.com復制,但是我丟失了原始的帖子ID] 在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM