【初心者歓迎】C/C++室 Ver.59【環境依存OK】
at TECH
923:デフォルトの名無しさん
08/04/23 07:18:54
>>919
void CtimerDlg::OnBnClickedButton2()
{
// new msgdlg() → msgdlgのインスタンスをヒープに確保。
//
// msgdlg aaae = ... → msgdlgのインスタンスをスタックに確保して、
// msgdlg(msgdlg* ptr)に適合するコンストラクタで初期化。(※1)
msgdlg aaae = new msgdlg();
...
// 自動変数のaaaeがスコープから外れるのでデストラクタが呼ばれ、
// aaaaが保持していたウィンドウなどが削除される。
//
// (※1)のポインタptrをdeleteしていなければメモリリーク。
}
が理解出来ていないように見える。
作りたいのがモーダルダイアログなら、
{
msgdlg aaae;
aaae.Create(IDD_DIALOG1, this);
aaaa.DoModal();
}
関数を抜けてもmsgdlgを保持するなら、
グローバルでなくCtimerDlgのメンバにする。
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4163日前に更新/246 KB
担当:undef