以下反向遍历 array 数组的方法有什么错误

vector<int> array; 
array.push_back(1); 
array.push_back(2); 
array.push_back(3); 
//反向遍历 array 数组: 
for(vector<int>::size_type i=array.size()-1; i>=0; --i){ 
 cout << array[i] << endl; 
} 

答:for 循环中的变量 i 的类型不应定义为 vector$<$int$>$::size_type, 因为该类型为无符号数值类型,故循环条件将恒成立,为死循环,应将其类型定义为有符号的 int 类型。