Ich versuche, die einfache Aufgabe der Übergabe eines Vektors an eine Funktion als Referenz zu tun, und den Vektor innerhalb der Funktion zu ändern. Allerdings bekomme ich ein paar ziemlich unverständliche Fehler mit dem folgenden Beispiel:Übergeben eines Vektors als Referenz auf eine Funktion
// data.h
class data {
public:
std::string a;
double b;
uint8_t c;
};
Wir machen einen Vektor dieser Datenobjekte in der Mainwindow-Klasse:
// MainWindow.h
class MainWindow {
public:
std::vector<data> vec;
void needs_vec(std::vector<data> &vec);
};
Im Folgenden werde ich die Querulant Funktion haben, zusammen mit dem Konstruktor des MainWindow-Objekts, wo alles zusammenkommt.
Ich habe auch versucht, mit rvalue Referenzen zu spielen, aber ich treffe ähnliche Ergebnisse: eine nicht entzifferbare zwanzig Seiten Fehlermeldung.
'vec.double = get_a_number();' Das ist wie ein großer weisender Pfeil. – DeiDei