当我们使用向量的向量时,是否必须指定向量的大小?

问题描述 投票:0回答:1
vector<vector<int>>res(size);

当我运行具有大小的代码时,我正在解决一些问题,它给出了正确的结果,但没有大小,它会抛出段错误

vector<vector<int>> printGraph(int V, vector<pair<int,int>>edges) {
    vector<vector<int>>res;
    for (auto edge : edges) 
    {
        int u = edge.first;
        int v = edge.second;
        res[u].push_back(v);
        res[v].push_back(u);  
     }

     return res;
}

我现在需要知道为什么它只有在我通过尺寸时才起作用

c++ vector data-structures stl
1个回答
0
投票

vector()
创建一个空向量。访问此类向量的
u
v
索引会访问它不拥有的内存,因此有可能出现段错误。

© www.soinside.com 2019 - 2024. All rights reserved.