注册 登录
编程论坛 C++教室

迭代器在VC6中不能用?

gmac 发布于 2011-02-22 14:14, 455 次点击
程序代码:
#include <iostream>
#include <vector>
#include <string>
using std:: cin;
using std:: cout;
using std:: endl;
using std:: string;
using std:: vector;


int main()
{
    vector<string> c;
    string s1;
   
    cout<< "enter strings"<<endl;
    while(cin >> s1)
        c.push_back(s1);
    char **prr = new char *[c.size()];
    size_t ix = 0;
    for( vector<string>::iterator iter = c.begin();iter != c.end();++iter,++ix)//这地方老是报错
    {
        char *p = new char[(*iter).size()+1];
        strcpy(p,(*iter).c_str());
        prr[ix]=p;
    }
    for(ix=0;ix!=c.size();++ix)
        delete [] prr;
    return 0;
}
3 回复
#2
rjsp2011-02-22 15:41
你总得告诉别人报什么错吧?!
编译器每次只告诉你对或错,而不告诉你错在哪里,你会不会生气?
#3
homelove2011-02-22 16:02
vc6对STL支持得不是很好,不支持模板嵌套
在vs2008下可以编译通过
#4
pangding2011-02-23 19:59
还是等等楼主公布编译器报的错误吧。
1