很奇怪,下面这段代码在VC6.0里面运行正常,但在VS2010面确有错误提示,求高手解释!
#include <iostream>
#include <vector>
using namespace std;
template<typename T> void quickSort(vector<T> &vec,vector<T>::size_type m,vector<T>::size_type n){
vector<T>::size_type i,j;
T k,t;
for(i=0;i<vec.size();i++){
cout<<vec[i]<<" ";
}
cout<<endl;
if(m<n){
i=m;
j=n+1;
k=vec[i];
while(i<j){
for(i=i+1;i<n;i++){
if(k<=vec[i]){
break;
}
}
for(j=j-1;j>m;j--){
if(vec[j]<=k){
break;
}
}
if(i<j){
t=vec[i];
vec[i]=vec[j];
vec[j]=t;
}
}
t=vec[m];
vec[m]=vec[j];
vec[j]=t;
quickSort(vec,m,j-1);
quickSort(vec,i,n);
}
}
int main() {
//cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!!
vector<int> vec;
int x;
for(int i=0;i<15;i++){
cin>>x;
vec.push_back(x);
}
quickSort(vec,0,vec.size()-1);
return 0;
}