以下のコードは正常にコンパイルされますが、実行されません
#include <iostream>
using namespace std;
int main()
{
int *a;
int b = 5;
a = &b;
cout << *a << endl;
delete a;
return 0;
}
編集:
int main()
{
int *a = 0;
delete a;
return 0;
}
これはうまくいきます。どうしてこんなことに?