我的例子如下.我发现问题在函数void test的参数中是"const".我不知道为什么编译器不允许.有人可以告诉我吗?谢谢.
vector<int> p;
void test(const vector<int> &blah)
{
vector<int>::iterator it;
for (it=blah.begin(); it!=blah.end(); it++)
{
cout<<*it<<" ";
}
}
int main()
{
p.push_back(1);
p.push_back(2);
p.push_back(3);
test(p);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
Mar*_*som 16
An iterator定义为返回对包含对象的引用.如果允许,这将破坏向量的常量.请const_iterator改用.