グローバル関数内での呼び出し方 – プログラミング – Home

グローバル関数内での呼び出し方
 
通知
すべてクリア

[解決済] グローバル関数内での呼び出し方


muma
 muma
(@muma)
ゲスト
結合: 22年前
投稿: 5
Topic starter  

ダイアログボックスのMFCで作成しています。
ダイアログクラスの処理の中で、メッセージボックス関数を実行すると
普通に実行されるのですが、実行場所をグローバル関数の中に持っていくと
エラーが起こってしまいます。
どうすればグローバル関数の中でメッセージボックスを表示できるのでしょうか?

<例>
①Onbottan関数の中でメッセージボックスを呼び出す。(これはOK)
②Onbottan関数の中でグローバル関数Aを呼び出す。
グローバル関数Aの中にはメッセージボックスを呼び出す記述がある(これは駄目)


引用未解決
トピックタグ
島
 島
(@島)
ゲスト
結合: 23年前
投稿: 238
 

どのようにメッセージボックスを呼び出したのでしょうか?
MFC をお使いなのでしたら MessageBox()、::MessageBox()、AfxMessageBox() の
違いはお分かりでしょうか?


返信引用
PAI
 PAI
(@PAI)
ゲスト
結合: 23年前
投稿: 359
 

1.ここでいう『メッセージボックス関数』とは正確には何ですか?
2.ここでいう『エラーが起こってしまう』とは具体的はどうなるのですか?


返信引用
PAI
 PAI
(@PAI)
ゲスト
結合: 23年前
投稿: 359
 

あ、かぶっちゃった、すみません。


返信引用
muma
 muma
(@muma)
ゲスト
結合: 22年前
投稿: 5
Topic starter  

MessageBoxです。
違いは分かりません。


返信引用
いぷ
 いぷ
(@いぷ)
ゲスト
結合: 23年前
投稿: 6
 

エラーってのはコンパイルエラーなんですかね?
MessageBoxとだけ書いた場合、書いた場所によって下記のどちらかが呼ばれます。

CWnd::MessageBox - CWndのメンバ関数
::MessageBox - WindowsAPI

詳細はMSDNで調べてください。


返信引用
muma
 muma
(@muma)
ゲスト
結合: 22年前
投稿: 5
Topic starter  

MessageBox(asdf)

error C2660: 'MessageBoxA'
というコンパイルエラーが発生します。

/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*

どうも引数の数がヘルプと見比べてみたところ異なっていました。
AfxMessageBoxと混同していたようです。

ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました