为啥这段代码在VC6.0上编译都通不过,而在code-blocks和vs2010上编译可以通过,还可以运行,哪位给大神解释一下

为什么这段代码在VC6.0上编译都通不过,而在code-blocks和vs2010上编译可以通过,还可以运行,哪位给大神解释一下
#include <iostream>
#include <string>
#include <vector>
using std::cin;
using std::cout;
using std::endl;
using std::string;
using std::getline;
using std::vector;
int main()
{
vector <int> vec1;
int num;
cout<<"输入元素个数为:";
cin>>num;

int val;
for(int i=0;i<num;i++)
{
cin>>val;
vec1.push_back(val);
cout<<"读入数据"<<endl;
}
int sum=0;
if(num%2!=0)
{
for(vector<int>::size_type ix=0;ix!=(vec1.size()-1);ix=ix+2)
{
sum=vec1[ix]+vec1[ix+1];
cout<<sum<<" ";
}
cout<<"最后一个元素没有求和"<<endl;

}
else
{
for(vector<int>::size_type ix=0;ix!=vec1.size();ix=ix+2)
{
sum=vec1[ix]+vec1[ix+1];
cout<<sum<<" ";
}
}
return 0;
}
vc6.0 c++ vs2010

------解决方案--------------------

using std::cin;
using std::cout;
using std::endl;
using std::string;
using std::getline;
using std::vector;
改为
using namespace std;
试试看

引用:
#include <iostream>
#include <string>
#include <vector>
using std::cin;
using std::cout;
using std::endl;
using std::string;
using std::getline;
using std::vector;
int main()
{
vector <int> vec1;
int num;
cout<<"输入元素个数为:";
cin>>num;

int val;
for(int i=0;i<num;i++)
{
cin>>val;
vec1.push_back(val);
cout<<"读入数据"<<endl;
}
int sum=0;
if(num%2!=0)
{
for(vector<int>::size_type ix=0;ix!=(vec1.size()-1);ix=ix+2)
{
sum=vec1[ix]+vec1[ix+1];
cout<<sum<<" ";
}
cout<<"最后一个元素没有求和"<<endl;

}
else
{
for(vector<int>::size_type ix=0;ix!=vec1.size();ix=ix+2)
{
sum=vec1[ix]+vec1[ix+1];
cout<<sum<<" ";
}
}
return 0;
}

------解决方案--------------------
VC6.0对标准C++支持性很差,CodeBlocks和VS2010都是支持的标准C++,你的程序本身应该没什么问题,问题在于使用环境