Auf die Größe eines Vectors von Struct zugreifen.
-
Hi,
ich habe einen Vector von Struct. Habe Probleme dabei auf die Größe zuzugreifen. Habe es gemäß Fehlerbeschreibung mal mit & vor "m_partnerNodes" versucht. Dies führt zu einem anderen Fehler.
Ich möchte die Größe des Vectors haben. Was muss ich tun. Warum funktioniert das so nicht, wie ich es geschrieben habe?NavigationPoint.h
private: // Describes a link to another node in the graph. struct InternalLink { // The link to the partner node. NavigationPoint* m_partnerNode; // The distance we have to the partner node. float m_distance; }; // The list with the partner nodes we have. vector<InternalLink> m_partnerNodes;
NavigationPoint.cpp
int size = m_partnerNodes.size; for (int i = 0; i < this->m_partnerNodes.size; i++) { //do something }
Fehler C3867 "std::vector<NavigationPoint::InternalLink,std::allocator<_Ty>>::size": Keine Standardsyntax; "&" zum Erstellen eines Verweises auf das Member verwenden
Danke - Enomine
-
size ist eine Methode und dazu gehören Klammern.
-
Diese Fehlermeldungen sind echt gewöhnungsbedürftig nutzlos...
Danke - Enomine
-
Das ist einfach mehrdeutig, was hier passieren könnte. Der Compiler hat angenommen, dass du einen Funktionszeiger auf die size Funktion haben wolltest. In dem Fall bräuchtest du & und keine Klammern und dich darauf hingewiesen.
-
NurVisual C++liefert eine solch unbrauchbare Meldung.