Witam !
Mam taki kod:
#include <iostream>
#include <new>
class Klasa
{
public:
Klasa();
~Klasa();
};
Klasa::Klasa()
{
cout << "Konstruktor" << endl;
}
Klasa::~Klasa()
{
cout << "Desktruktor" <<endl;
}
int main()
{
Klasa *wsk=static_cast<Klasa*> (operator new(sizeof(Klasa)*5));
for (int i=0;i<5;++i) new (wsk+i) Klasa();
for (int i=0;i<5;++i) delete (wsk+i);
}
Dlaczego podczas wykonywania tego programu przy trzecim wywołaniu destruktora dostaję: "Segmentation fault" ?
Używam kompilatora: gcc version 2.95.4 20011002 (Debian prerelease)
Ale np. pod Dev-C++ 4.9.7.0 wszystko pięknie działa!
PS. Nie pytajcie o sens tego kodu :)