Legen Sie in eine STL-queue using std::copy

Ich gerne verwenden würde std::copy zum einfügen von Elementen in einer Warteschlange, wie diese:

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() ) );

Aber diese nicht kompiliert werden kann, und beschwert sich, dass begin ist nicht Mitglied der std::queue.

Hinweis: ich habe versucht, es mit std::inserter zu - dies auch nicht, dieser Zeit sagen, dass 'Referenz' ist nicht ein Mitglied von 'std::queue'. std::back_inserter und std::back_insert_iterator auch Fehler mit dem gleichen Fehler.

Übersehe ich etwas offensichtliches, oder tun insert_iterators nur nicht arbeiten mit Warteschlangen?

InformationsquelleAutor der Frage Andy Balaam | 2009-11-12

Schreibe einen Kommentar