fopenのフリーズ
Posted: 2008年11月07日(金) 08:49
VC++で作成しているプログラムでfopenの関数を何度か使っていたんですが、
間違って、すでにdeleteしてあるクラスを再度deleteしてしまうプログラムを実行
してしまいました。
そのときに、delete自体でエラーは起こらなかったのですが、delete後にfopenを
使おうとするとフリーズしてしまうようになってしまいました。
その後、deleteを片方消して、再度コンパイルし、実行したときにはうまく動作しました。
一応問題はなくなったのですが、なぜこのようなことが起きたのか、どなたか教えていただけないでしょうか。
class A {
.
.
};
//
A *p;
p = new A();
.
.
delete(p);
fopen("a.data", "w"); // ←ここでは動く
.
.
delete(p); // 記述ミスでdelele済みのクラスをdelete
fopen("a.data", "w"); // ←コンパイルは通るが、実行するとフリーズ
間違って、すでにdeleteしてあるクラスを再度deleteしてしまうプログラムを実行
してしまいました。
そのときに、delete自体でエラーは起こらなかったのですが、delete後にfopenを
使おうとするとフリーズしてしまうようになってしまいました。
その後、deleteを片方消して、再度コンパイルし、実行したときにはうまく動作しました。
一応問題はなくなったのですが、なぜこのようなことが起きたのか、どなたか教えていただけないでしょうか。
class A {
.
.
};
//
A *p;
p = new A();
.
.
delete(p);
fopen("a.data", "w"); // ←ここでは動く
.
.
delete(p); // 記述ミスでdelele済みのクラスをdelete
fopen("a.data", "w"); // ←コンパイルは通るが、実行するとフリーズ