C++代码,编译环境问题~

来源:百度知道 编辑:UC知道 时间:2024/06/01 11:45:38
这段代码在DEV下很正常,得到了我想要的结果,而在VC6。0下确怎么样也编译不过去,为什么?
#include <iostream>
#include <string>
#include <conio.h>
#include <cstring>
#include <list>
#include <vector>
using namespace std;
int main(){

char* aa[]= {"mingtian","de","taiyang","a"};
list<char*> str_ing(aa,aa+4);
vector<string> svec;
svec.assign(aa,aa+4);

vector<string>::iterator iter = svec.begin();
while(iter!=svec.end())
cout<<"list: "<<*iter++<<endl;
list<char*>::iterator p1 = str_ing.begin();
while(p1!=str_ing.end())
cout<<"vector: "<<*p1++<<endl;

getch();

return 0;

}
--------------------Configuration: 9.28 - Win32 Debug-----------

我公司的电脑上可以编译过去,因为那是打了补丁的VC++6.0。早起的VC6.0不支持模板。建议你去下个SP5补丁,你上网查查,应该有。据说从VC7.0开始就解决了这个问题。
我在《电脑报》的下载页面上看到了微软的VC8.0的,你可以看看。
http://www.mydown.com/soft/develop/c/422/438922.shtml

我的VC6.0能够编译过去,结果如下:
list: mingtian
list: de
list: taiyang
list: a
vector: mingtian
vector: de
vector: taiyang
vector: a
你的VC编译时报错是怎样的?把错误贴上来看看。

svec.assign(aa,aa+4);
这句有问题。

vc2003能编译过去