■ VisualC++(MFC限定)相談室 4■
■ このスレッドは過去ログ倉庫に格納されています
0582デフォルトの名無しさん
NGNGclass CLine{
public:
CLine(int n);
~Cline();
char * buf;
}
CLine::CLine(int n){
buf = (char *)malloc(n * sizeof(char));
}
CLine::~CLine(){
if(buf) free(buf);
}
main()
{
CLine *pl = new CLine(0);
delete pl;
}
とやってみたら(実際のソースはもっと複雑ですが…)デバッグエラー、とかになってメモリ解放で失敗しますた。
これをmallocやfreeの部分をnew,deleteにしたらokになりました。
これはc++の合法的なルールなのですか?つまりmalloc系とnew系は
混在させると不都合が起きますか?
■ このスレッドは過去ログ倉庫に格納されています