Sie sind die std::equal
overload unter 3 wahrscheinlich Aufruf [Dank @juanchopanza!] Iteratoren und ein zusätzliches Prädikat. So lassen Sie das zweite Ende weg, da es nicht als Ende Iterator interpretiert wird, sondern ein Prädikat, das Müll ist:
std::equal(a.begin(), a.end(), v.begin())
Aber als Mark in diesem Fall in seinem Kommentar ammends müssen Sie sicherstellen, Achten Sie darauf, dass die Größen beider Behälter übereinstimmen, sonst laufen Sie Gefahr, das Ende des zweiten Satzes zu überschreiten. Beachten Sie, dass C++ 14 in der Tat eine std::equal
Überladung einführt, die vier Iteratoren (was Sie beabsichtigt haben) und die die Überprüfung der Größe implizit vorformuliert, aber es scheint, dass Ihre Implementierung dies noch nicht unterstützt.
Ansonsten sind die anderen Antworten und Kommentare richtig, a == v
ist viel einfacher, klarer und stromlinienförmiger.
hast du 'a == v' versucht? –