Я наткнулся на что-то похожее на приведенный ниже фрагмент кода, который вызывает ошибку компилятора, потому что он использует const_iterator
. есть ли причина, по которой vec.end ()
в std :: copy
неявно не получает приведение const
?
int main(int argc, char* argv[]) {
vector<int> vec;
vec.push_back(20);
vec.push_back(30);
vector<int> copy_vec;
vector<int>::const_iterator i = vec.begin();
std::copy(i,vec.end(),back_inserter(copy_vec));
cerr<<copy_vec.size()<<endl;
return 0;
}