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.


  • Mod

    NurVisual C++liefert eine solch unbrauchbare Meldung.


Log in to reply