C ++ возвращает недопустимое значение в следующем коде:
#include <iostream>
#include <vector>
using namespace std;
int f(){
vector< int * > v[2];
return 1;
v[1].push_back(NULL);
}
int main(){
cout << f();
}
Вывод:
205960
Когда я соединяю строку после возврата, он работает нормально:
#include <iostream>
#include <vector>
using namespace std;
int f(){
vector< int * > v[2];
return 1;
//v[1].push_back(NULL);
}
int main(){
cout << f();
}
Вывод:
1
Я использую code :: block с компилятором mingw32-g ++. Exe. Версия mingw: gcc версии 4.4.1 (TDM-2 mingw32).