C++ 创建列表向量时出错

C++ 创建列表向量时出错,c++,list,vector,C++,List,Vector,我试图创建一个列表向量,并向列表中添加元素。下面是我尝试的方式。但我发现了一个错误 “v[i]。向后推(a)”。我在实施它时哪里错了?我如何克服它 #include<iostream> #include<list> #include<vector> using namespace std; int main() { vector<list<int> > v; vector<list<int> >

我试图创建一个列表向量,并向列表中添加元素。下面是我尝试的方式。但我发现了一个错误 “v[i]。向后推(a)”。我在实施它时哪里错了?我如何克服它

#include<iostream>
#include<list>
#include<vector>
using namespace std;

int main()
{
    vector<list<int> > v;
    vector<list<int> >::iterator it;
    list<int>::iterator itt;
    int nv; //size of the vector
    cin>>nv;
    for(int i=0;i<nv;i++)
    {
        int a;
        cin>>a;
        while(a!=-1)
        {
            v[i].push_back(a);
            cin>>a;
        }

    }

    for(it=v.begin();it!=v.end();it++)
    {
        for(itt=(*it).begin();itt!=(*it).end();itt++)
        {
            cout<<*itt<<endl;
        }
    }

    return 0;
}
#包括
#包括
#包括
使用名称空间std;
int main()
{
向量v;
向量::迭代器;
列表::迭代器itt;
int nv;//向量的大小
cin>>内华达州;
对于(int i=0;i>a;
而(a!=-1)
{
v[i]。推回(a);
cin>>a;
}
}
for(it=v.begin();it!=v.end();it++)
{
for(itt=(*it).begin();itt!=(*it.end();itt++)
{

cout向量为空,因为它是默认构造的:

int main()
{
    vector<list<int> > v;
    vector<list<int> >::iterator it;
    list<int>::iterator itt;
    int nv; //size of the vector
    cin>>nv;
    // Fix the size of the vector
    v.resize(nv);
    for(int i=0;i<nv;i++)
    {
        int a;
        cin>>a;
        while(a!=-1)
        {
            v[i].push_back(a);
            cin>>a;
        }

    }

    for(it=v.begin();it!=v.end();it++)
    {
        for(itt=(*it).begin();itt!=(*it).end();itt++)
        {
            cout<<*itt<<endl;
        }
    }

    return 0;
}
intmain()
{
向量v;
向量::迭代器;
列表::迭代器itt;
int nv;//向量的大小
cin>>内华达州;
//确定向量的大小
v、 调整大小(nv);
对于(int i=0;i>a;
而(a!=-1)
{
v[i]。推回(a);
cin>>a;
}
}
for(it=v.begin();it!=v.end();it++)
{
for(itt=(*it).begin();itt!=(*it.end();itt++)
{

coutOn什么样的机器正在运行这些
linux
命令?尝试在windows上运行Google App Engine确实会产生反效果,并且您会不断遇到类似的问题。购买linux或Mac开发机器。如果您负担不起,请在现有windows机器上设置基于VM的解决方案。在VM中运行linux和GAE。抱歉,我知道这不是您想要听到的,但来自windows和UNIX环境的专家。您没有向
v
添加任何内容(即
v
为空),因此当然
v[I]
其中
I
是任何内容都不会工作(可能会崩溃)。您缺少
v.resize(nv)
此外,您可能应该创建一个新问题,因为这实际上是一个新问题。