Ich versuche Sortierung einen Vektor von Tupel zu sortieren, aber ich habe einen seltsamen Fehler:Fehler, wenn Benutzerdefinierte einen Vektor von Tupeln
typedef std::tuple<const std::string, const std::string, const unsigned int> nodesfound;
std::vector<nodesfound> nf;
fil_vector(nf);
std::sort(nf.begin(), nf.end(), [](nodesfound const &n1, nodesfound const &n2) {
return std::get<2>(n1) < std::get<2>(n2);
});
der Fehler ist:
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple:299:17: error: no viable overloaded '='_M_head(*this) = std::forward<_Head>(_M_head(__in));
wenn ich die Sortierlinie entfernen Mein Programm ist vollkommen in Ordnung
std :: sort mit Tupel arbeiten, warum das Innere des Tupels shoud sei const? Sortierung kann nur Tupel im Vektor tauschen? Thanck's viel – Fractale
@perecastor: Sogar 'Swap' benötigt Zuweisung ... – ildjarn