[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 06/22 11:35 / Filesize : 228 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Win32API質問箱 Build52



597 名前:デフォルトの名無しさん [2007/05/02(水) 16:48:27 ]
初歩的な質問で申し訳ありません。

VC++でダイアログベースのプログラムの作成中です。
プロシージャ内でクラスを宣言して使用したいのですが、エラーになります。
たとえば以下のようなプログラムのがあるとします(Fooクラスが別途存在します)

LRESULT CALLBACK DlgProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp)
{
 switch (msg) {
  case WM_INITDIALOG:
   Foo foo;
   return FALSE;
  case WM_HOGE:
   foo.hoge();
  default:
   return FALSE;
 }
 return TRUE;
}

この場合、以下のエラーが出力されます
 'foo' の初期化が 'case' ラベルによって行われませんでした。

調べた結果、WM_HOGE内でFooクラスの宣言がなされてない(初期化がされていない)のでエラーになっている、ということはわかりました。

ここで質問なのですが、Fooクラスの宣言というのは一般的にどこで行うべきなのでしょうか?
プロシージャの最初のswitchの外で宣言してしまってもいいものなのでしょうか。






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<228KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef