Заголовочный файл
:
private:
vector<int*>* nums;
public slots:
void buttonClicked();
Файл cpp:
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();
}
Когда я запускаю это, первый метод теста выполняется в конструкторе и выводит 2, как и ожидалось.Однако после нажатия кнопки (т. Е. Выполнения метода buttonClicked ()) метод теста выдает, казалось бы, произвольное число (например, 4292719658).Немного покопавшись, я обнаружил, что если я сделаю вектор чисел атрибутом, метод test () будет каждый раз выводить 2.Почему я получаю странный вывод с числами как без атрибута?