以下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;
}
答案 0 :(得分:13)
您的STL容器元素应该是可分配的和可复制构造的。
const
阻止其成为assignable。删除const
并尝试重新编译代码。
同时将std::vector<double> VectDouble::iterator
更改为
std::vector<double>::iterator
答案 1 :(得分:2)
VectDouble是一个变量名。
更改
for(std::vector<const double> VectDouble::iterator i=VectDouble.begin();i!=VectDouble.end();++i)
到
for(std::vector<const double>::iterator i=VectDouble.begin();i!=VectDouble.end();++i)
或
typedef std::vector<const double> vector_t;
for(vector_t::iterator i=VectDouble.begin();i!=VectDouble.end();++i)