簡體   English   中英

向量中的分段錯誤<vector<string> &gt; </vector<string>

[英]Segmentation Fault in vector<vector<string>>

為什么我在這段代碼中遇到分段錯誤?

#include<bits/stdc++.h>
using namespace std;


int main()
{
    vector<vector<string> > v;
    v[0].push_back("good");
    
    cout<<v[0][0];

}

我試圖在第一個向量中插入字符串“good”,我試圖通過v[0][0]訪問它,但它給了我segmentation fault 請幫忙。 謝謝。

內部向量從 0 個元素開始,您推送 1 個元素,然后您可以通過[0]訪問第一個元素。 沒關系。

但是,外部向量的工作方式相同:您首先需要添加一個元素才能訪問它。

調用允許您指定大小的構造函數:

vector<vector<string> > v(1);
v[0].push_back("good");

或推動元素:

vector<vector<string> > v;
vector<string> w;
w.push_back("good");
v.push_back(w);

暫無
暫無

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

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