Я хотел бы использовать std::copy
для вставки элементов в такую очередь:
vector<int> v;
v.push_back( 1 );
v.push_back( 2 );
queue<int> q;
copy( v.begin(), v.end(), insert_iterator< queue<int> >( q, q.front() ) );
Но это не компилируется, жалуется, что begin
не является членом std::queue
.
Примечание: я тоже пробовал это с std::inserter
- это тоже не удалось, на этот раз я сказал, что «ссылка» не является членом «std :: queue». std::back_inserter
и std::back_insert_iterator
также выходят из строя с той же ошибкой.
Я упустил что-то очевидное, или insert_iterator
s просто не работают с очередями?