Ich habe einen Vektor von Vektoren, wie diese machen: berechnenWie kann ich meine Shared_ptr Punkt auf die spezifische Adresse innerhalb einer verschachtelten Vektor
std::vector<std::vector<boost::shared_ptr<X> > > vOP;
ich zuweisen möchten einen anderen boost::shared_ptr
dem verschachtelten vector
oben, und dann/bestimmte Visualisierungen anzeigen. Hier
ist der Ausschnitt aus meinem Code:
boost::shared_ptr<X> tempPtr;
if(num < vOP[refID].size()) // refID returns the ID number
{
tempPtr = vOP[refID].at(num);
ROS_INFO_STREAM("ADDRESS OF vOP: "<< vOP[refID].at(num)<<" for refID: "<<refID);
ROS_INFO_STREAM("&REFERENCE ADDRESS OF vOP: "<< &vOP[refID].at(num));
}
aber ich erhalte eine Geltendmachung Fehler fehlgeschlagen als tempPtr
verweist nicht auf die verschachtelte vector
.
Mein Code funktioniert, wenn refID
0 ist; aber sonst schlägt mein Code fehl. Sowohl die ROS_INFO_STREAM
gibt verschiedene Adressen aus.
Kann mir jemand erklären, was diese beiden Adressen bedeuten? Wie mache ich meinen Zeiger auf die richtige Adresse?
Sie sollten Ihre Frage so bearbeiten, dass sie das 'ros'-Tag enthält, was Ihre Chancen auf eine Antwort erhöht. –
Nur ein Gedanke, 'num
Danke Ihnen! Ich habe es jetzt hinzugefügt! – Greatgoing