标题:size_t i = 0与迭代器一起在for语句头定义时出现错误
取消只看楼主
snowstorm
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2008-10-12
 问题点数:0 回复次数:1 
size_t i = 0与迭代器一起在for语句头定义时出现错误
// 编写程序由从标准输入设备读入的元素数据建立一个 int型 vector对象,然后
//动态创建一个与该 vector 对象大小一致的数组,把 vector 对象的所有元素复
//制给新数组。
#include <iostream>
#include <vector>

using namespace std;

int main()
{
    vector <int> ivec;
    int inum;
    cout << "请输入一个整形数组以ctrl+z结束:" ;
    // 从键盘读入数据
    while (cin >> inum)
    {
        ivec.push_back(inum);
    }

    const int arry_size= ivec.size();

    int *ip = new int[arry_size];
    size_t i = 0;  // 为什么i要在外面定义才可以,若是在for的语句头定义就有错误呢?
    cout << "数组的个元素为:"
    for (vector <int>::iterator ix = ivec.begin(); ix != ivec.end(); ++ix)
    {
        ip[i] = *ix;
        cout << ip[i] << " "; //将容器里面的内容复制到动态数组里
        ++i;
    }
    delete [] ip;
    cout << endl;
    return 0;
}
注:不用告诉我可以不用这种方法,我只想知道出现这种情况是为什么 呵呵
搜索更多相关主题的帖子: 语句 定义 size 
2008-10-17 16:56
snowstorm
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2008-10-12
得分:0 
谢谢 十分感谢 很抱歉这么晚才回复谢谢
2008-10-18 21:13



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-238867-1-1.html




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

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