Ich habe eine vector<data>
(wobei data
meine eigene Haustierart ist) und ich möchte den maximalen Wert finden.
Die Standardfunktion std::max
in C ++ 11 scheint in einer Sammlung von Objekten zu funktionieren, aber sie möchte eine Initialisierungsliste als erstes Argument und keine Sammlung wie vector
:
Wie kann ich das lösen?
Die std::max
Überladungen sind nur für kleine Sätze, die zur Kompilierungszeit bekannt sind. Was Sie brauchen, ist std::max_element
(was sogar vor 11 ist). Dadurch wird ein Iterator an das maximale Element einer Auflistung (oder eines beliebigen Iteratorbereichs) zurückgegeben:
Tags und Links c++ c++11 initializer-list std