Headerdatei Drücken der Taste:Vector Größenänderungen nach in QT
private:
vector<int*>* nums;
public slots:
void buttonClicked();
CPP-Datei: als
NewWindow(){
int one = 1;
int* pone = &one;
int two = 2;
int* ptwo = &two;
vector<int*> numbers;
numbers.push_back(pone);
numbers.push_back(ptwo);
nums = &numbers;
test();
}
//Prints size of nums vector
void NewWindow::test(){
stringstream woo;
woo << nums->size()<<endl;
cout << woo.str();
}
//I just had one button on my gui
void NewWindow::buttonClicked(){
test();
}
Als ich dies ausführen, wird die erste Testmethode führt in den contructor und Ausgängen 2, erwartet . Nach dem Anklicken der Schaltfläche (d. H. Der Ausführung der Methode buttonClicked()) gibt die Testmethode jedoch eine scheinbar willkürliche Zahl aus (z. B. 4292719658). Nachdem ich ein wenig herumgespielt habe, habe ich entdeckt, dass die Methode test() jedes Mal 2 ausgibt, wenn ich den Zahlenvektor als Attribut verwende. Warum bekam ich eine seltsame Ausgabe mit Zahlen als Nichtattribut?