Мне было интересно, почему следующее тривиальный код вызывает ошибку сегментации при возврате из main ():
//Produces "Error while dumping state (probably corrupted stack); Segmentation fault"
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
class Test
{
vector<int> numbers;
};
int main()
{
Test a;
ifstream infile;
cout << "Last statement..." << endl; // this gets executed
return 0;
}
Интересно, что 1) если объявлена только одна из двух переменных, я не получаю ошибку, 2) если я объявляю векторную переменную вместо объекта с членом вектора, все в порядке, 3) если я объявляю ofstream вместо ifstream, снова все работает нормально. Что-то не так с этой конкретной комбинацией ...
Может быть, это ошибка компилятора? Я использую gcc версии 3.4.4 с cygwin.
Заранее спасибо за советы.
Gábor