Conflict std :: set und ntl :: vec_zz
Frage
Ich versuche, STD :: Set für beliebige Länge integer Vektoren zu verwenden, die aus der NTL-Bibliothek definiert ist, und aus irgendeinem Grund funktioniert es nicht.Es funktioniert vollständig mit den von der Bibliothek definierten Zz-Ganzzahlen: generasacodicetagpre.
weiß jemand, warum das erste Einfügen funktioniert und der zweite nicht?
Lösung
std::set<T>
is ordered by std::less<T>
, which defaults to bool operator<(T,T)
. ZZ
does define a proper operator<
(they're ordered) but vec_ZZ
doesn't. In fact, most NTL classes don't, not even ZZ_p
. Therefore std::set<ZZ_p>
is equally invalid.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow