| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2165 人关注过本帖
标题:嵌套vector问题----十万火急
只看楼主 加入收藏
morose2004
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2011-5-11
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:3 
嵌套vector问题----十万火急
想要把一个vector嵌套里的元素存到另外一个vector嵌套里
程序如下。但是运行出错。不知道啥原因?望高手指点下?说明下为什么不对。如果这种方法不对,正确的应该是什么样的?十万火急!!!!
#include<iostream>
#include<vector>
using namespace std;
int main()
{
    int a[]={1,2,3,4,5,6,7,8,9,10};
    vector<int> temp1(a,a+5),temp2(a+5,a+10);
    vector<vector<int> > vec;
    vec.push_back(temp1);
    vec.push_back(temp2);
    for(int i=0;i<vec.size();i++)
        {
            for(int j=0;j<vec.at(i).size();j++)
            cout<<vec.at(i).at(j)<<" ";
    cout<<endl;
    }
    vector<int> obj1;
    vector<vector<int> > obj;
    for(int i=0;i<vec.size();i++)
        {
            for(int j=0;j<vec.at(i).size();j++)    //可能有问题,不知为什么

                obj1[j]=vec[i][j];
            obj.push_back(obj1);
    }
    cout<<obj.size()<<endl;
    cout<<obj.at(0).size()<<endl;
    cout<<obj.at(1).size()<<endl;
    for(int i=0;i<obj.size();i++)
        {
            for(int j=0;j<obj.at(i).size();j++)
            cout<<obj.at(i).at(j)<<" ";
            cout<<endl;}

    return 0;
}
搜索更多相关主题的帖子: include using 元素 
2011-06-08 06:09
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9029
专家分:54050
注 册:2011-1-18
收藏
得分:7 
obj1[j]=vec[i][j]; // obj1的size()为0,怎么可能有obj1[j]?
2011-06-08 08:29
a373339205
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:30
专家分:134
注 册:2011-6-9
收藏
得分:7 
vector<int> obj1;
//obj1.size()==0
    vector<vector<int> > obj;
//obj.size()==0
所以obj1[j]=vec[i][j];这里就错了
2011-06-09 22:55
hoho568
Rank: 5Rank: 5
等 级:职业侠客
帖 子:101
专家分:378
注 册:2009-7-14
收藏
得分:7 
自己已经标出来了,只是忽略了vector变量的赋值只能用push_back()的形式,而不可以采用下标的方式赋值!
2011-06-09 23:14
快速回复:嵌套vector问题----十万火急
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026004 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved