关于vector类型的使用问题
这是C++ primer中的一段代码,具体哪里有问题请高手指教一下
#include <iostream>
#include <vector>
using std::cout;
using std::endl;
using std::vector;
int main()
{
// empty vector
vector<int> ivec;
int val;
// give each element a new value
for (vector<int>::size_type ix = 0;
ix != 10; ++ix)
ivec.push_back(ix);
cout << "ivec.size: " << ivec.size() << endl; // prints 10
// reset the elements in the vector to zero
for (vector<int>::size_type ix = 0; ix != ivec.size(); ++ix)
ivec[ix] = 0;
// is there anything to print?
if (ivec.empty() == false) {
cout << "vector contents: " << endl;
// print each element separated by a newline
for (vector<int>::size_type ix = 0;
ix != ivec.size(); ++ix)
cout << ivec[ix] << endl;
}
return 0;
}
--------------------Configuration: init_vec - Win32 Debug--------------------
Compiling...
init_vec.cpp
e:\c++ primer题解\ms_files\3\init_vec.cpp(46) : error C2653: 'vector<int,class std::allocator<int> >' : is not a class or namespace name
e:\c++ primer题解\ms_files\3\init_vec.cpp(46) : error C2065: 'size_type' : undeclared identifier
e:\c++ primer题解\ms_files\3\init_vec.cpp(46) : error C2146: syntax error : missing ';' before identifier 'ix'
e:\c++ primer题解\ms_files\3\init_vec.cpp(46) : error C2065: 'ix' : undeclared identifier
e:\c++ primer题解\ms_files\3\init_vec.cpp(47) : error C2143: syntax error : missing ')' before '++'
e:\c++ primer题解\ms_files\3\init_vec.cpp(47) : warning C4552: '!=' : operator has no effect; expected operator with side-effect
e:\c++ primer题解\ms_files\3\init_vec.cpp(47) : error C2059: syntax error : ';'
e:\c++ primer题解\ms_files\3\init_vec.cpp(47) : error C2059: syntax error : ')'
e:\c++ primer题解\ms_files\3\init_vec.cpp(48) : error C2146: syntax error : missing ';' before identifier 'ivec'
e:\c++ primer题解\ms_files\3\init_vec.cpp(53) : error C2653: 'vector<int,class std::allocator<int> >' : is not a class or namespace name
e:\c++ primer题解\ms_files\3\init_vec.cpp(53) : error C2146: syntax error : missing ';' before identifier 'ix'
e:\c++ primer题解\ms_files\3\init_vec.cpp(53) : error C2143: syntax error : missing ')' before '++'
e:\c++ primer题解\ms_files\3\init_vec.cpp(53) : warning C4552: '!=' : operator has no effect; expected operator with side-effect
e:\c++ primer题解\ms_files\3\init_vec.cpp(53) : error C2059: syntax error : ';'
e:\c++ primer题解\ms_files\3\init_vec.cpp(53) : error C2059: syntax error : ')'
e:\c++ primer题解\ms_files\3\init_vec.cpp(54) : error C2146: syntax error : missing ';' before identifier 'ivec'
e:\c++ primer题解\ms_files\3\init_vec.cpp(60) : error C2653: 'vector<int,class std::allocator<int> >' : is not a class or namespace name
e:\c++ primer题解\ms_files\3\init_vec.cpp(60) : error C2146: syntax error : missing ';' before identifier 'ix'
e:\c++ primer题解\ms_files\3\init_vec.cpp(61) : error C2143: syntax error : missing ')' before '++'
e:\c++ primer题解\ms_files\3\init_vec.cpp(61) : warning C4552: '!=' : operator has no effect; expected operator with side-effect
e:\c++ primer题解\ms_files\3\init_vec.cpp(61) : error C2059: syntax error : ';'
e:\c++ primer题解\ms_files\3\init_vec.cpp(61) : error C2059: syntax error : ')'
e:\c++ primer题解\ms_files\3\init_vec.cpp(62) : error C2146: syntax error : missing ';' before identifier 'cout'
Error executing cl.exe.
init_vec.exe - 20 error(s), 3 warning(s)
其中e:\c++ primer题解\ms_files\3\init_vec.cpp(46) : error C2653: 'vector<int,class std::allocator<int> >' : is not a class or namespace name是怎么回事呢?
我见书里写的就是for (vector<int>::size_type ix = 0;
ix != 10; ++ix)
到底是怎么回事,是少了using指令吗?