неявное приведение констант в шаблонах

Я наткнулся на что-то похожее на приведенный ниже фрагмент кода, который вызывает ошибку компилятора, потому что он использует 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;
}
0
задан Adam Wagner 10 November 2011 в 05:18
поделиться