教えてください。以下をコンパイルするとエラーとなります。if文が構文エラーとのことです。どうしてif文の評価式でOneProcess(NULL, "xxx.exe") <0とかけないのでしょうか?


typedef int (WINAPI *OneProcess)(HWND hwndNotify, char *exe_name);
FuncOneProcess OneProcess =(FuncOneProcess)GetProcAddress(hLib, "OneProcess");
if(OneProcess(NULL, "xxx.exe") <0){
MsgBox("OneProcess failed!");
return 0;
}

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2012/03/18 13:22:13
  • 終了:2012/03/23 20:54:41

回答(1件)

id:a-kuma3 No.1

a-kuma3回答回数4470ベストアンサー獲得回数18442012/03/18 13:59:09

ポイント100pt

typedef int (WINAPI *OneProcess)(HWND hwndNotify, char *exe_name);

↑ は、

typedef int (WINAPI *FuncOneProcess)(HWND hwndNotify, char *exe_name);

じゃないでしょうか。

id:mai_mai_mail

仰るとおりですね。記載ミスでした。正しくは

typedef int (WINAPI *OneProcess)(HWND hwndNotify, char *exe_name);
OneProcess OneProcess =(OneProcess)GetProcAddress(hLib, "OneProcess");
if(OneProcess(NULL, "xxx.exe") <0){
MsgBox("OneProcess failed!");
return 0;

しかしif文のところでエラーとなってしまいます。すみませんがおしえてくれますか。
}

2012/03/18 15:07:21
id:a-kuma3

質問の記載ミスだったんですね。
でも、型名と変数名が一緒なのが、ちょっと微妙な感じ。
型名と変数名を区別したらどうなりますか?

typedef int (WINAPI *FuncOneProcess)(HWND hwndNotify, char *exe_name);
FuncOneProcess oneProcess =(FuncOneProcess)GetProcAddress(hLib, "OneProcess");
if (oneProcess(NULL, "xxx.exe") < 0) {
    MsgBox("OneProcess failed!");
    return 0;
}
2012/03/18 16:49:16

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません