const 和 STL 容器
以下 std::vector
代码出现错误
int main()
{
std::vector<const double> VectDouble;
VectDouble.push_back(2.34);
VectDouble.push_back(2.33);
VectDouble.push_back(2.32);
for(std::vector<const double> VectDouble::iterator i=VectDouble.begin();i!=VectDouble.end();++i)
std::cout<<*i;
}
The following std::vector
code is giving errors
int main()
{
std::vector<const double> VectDouble;
VectDouble.push_back(2.34);
VectDouble.push_back(2.33);
VectDouble.push_back(2.32);
for(std::vector<const double> VectDouble::iterator i=VectDouble.begin();i!=VectDouble.end();++i)
std::cout<<*i;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您的 STL 容器元素应该是可分配且可复制构造的。
const
阻止它可分配。删除const
并尝试再次编译您的代码。还要更改
std::vectorVectDouble::iterator
到std::vector::iterator
Your STL container elements should be assignable and copy-constructible.
const
prevents it from being assignable. Removeconst
and try compiling your code again.Also change
std::vector<double> VectDouble::iterator
tostd::vector<double>::iterator
VectDouble 是一个变量名。
更改
为
或
VectDouble is a variable name.
change
to
or