Leider kann ich den vollständigen Code nicht einfügen, aber ich werde mein Bestes versuchen, um das Problem zu erklären. Ich habe einen Vektor der Struktur. Ich übergebe den Vektor an eine Funktion, die den Vektor mit Struktur füllt und den Vektor zurückgibt. Aber wenn ich versuche, auf die Vektorelemente zuzugreifen, bekomme ich nur das letzte Element eingefügt. Ich denke, dass das Problem irgendwo ist, dass ich die Adresse der Struktur speichere, und deshalb behält Vektor nur den letzten Wert bei, aber ich bin nicht sicher, wie man das korrigiert.Vektor der Struktur gibt nur den letzten Wert zurück
Hier meine Struktur ist:
struct NA
{ element1;
element2;
};
Hier ist, wie ich meine Vektor übergeben, nachdem sie erklärt:
Vector<NA> del;
func(del);
Hier ist meine Funktion ist: (q ist eine Variable ergibt sich aus einer gespeicherten Prozedur mit
func(Vector<NA> &dels)
{
NA& del(*new NA);
while(q.nextquery())
{
while(q.nextrow())
{
q.bind(del.element1);
q.bind(del.element2);
dels.insert(&del);
}
return dels.entries()
}
verfassen [MCVE] nach Bedarf bitte. –
Das richtige Werkzeug, um solche Probleme zu lösen, ist Ihr Debugger. Sie sollten Schritt für Schritt durch Ihren Code * gehen, bevor Sie auf Stack Overflow nachfragen. Für weitere Hilfe lesen Sie bitte [Wie kleine Programme zu debuggen (von Eric Lippert)] (https://ericlippert.com/2014/03/05/how-to-debug-small-programs/). Zumindest sollten Sie Ihre Frage bearbeiten, um ein [minimales, vollständiges und verifizierbares] (http://stackoverflow.com/help/mcve) Beispiel einzufügen, das Ihr Problem zusammen mit den Beobachtungen, die Sie in der Debugger. –
Es gibt einige Beschränkungen in meiner Firma, für die ich Werkzeuge wie intellij und eclipse nicht verwenden kann. Wenn dies Java wäre, hätte ich definitiv meinen Code debugged, aber hier ist es schwierig, würde eine Lösung erwarten, wenn möglich :) – user3274263