-Wbad-function-cast
フラグを使用してgccでプログラムをコンパイルしています。gccは次の警告を表示します。
cast does not match function type
これは警告の行です: int ret = (int)
FindExecutable(file, NULL, result)
問題は、それを削除することは可能ですか?別のWindowsデータ型にキャストしているかもしれませんが、私はそれを整数として処理しています。
-Wbad-function-cast
フラグを使用してgccでプログラムをコンパイルしています。gccは次の警告を表示します。
cast does not match function type
これは警告の行です: int ret = (int)
FindExecutable(file, NULL, result)
問題は、それを削除することは可能ですか?別のWindowsデータ型にキャストしているかもしれませんが、私はそれを整数として処理しています。
HINSTANCEが実際に何であるかを見たことがありますか?(私はそのポインタを推測していますが、intではありません)。ですから、おそらくあなたはボイドにキャストするほうが幸運になるでしょう*
http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751(v=vs.85).aspx
インスタンスへのハンドル。これは、メモリ内のモジュールのベースアドレスです。HMODULEとHINSTANCEは今日同じですが、16ビットWindowsでは異なるものを表しています。このタイプは、WinDef.hで次のように宣言されています。typedefHANDLE HINSTANCE;
HANDLE
オブジェクトへのハンドル。このタイプは、WinNT.hで次のように宣言されています。typedefPVOID HANDLE;
任意のタイプへのポインタ。このタイプは、WinNT.hで次のように宣言されています。typedefvoid * PVOID;
FindExecutable documentactionによると、関数は型の値を返しますが、HINSTANCE
エラーを示すために32以下の値の整数も返します。int
結果を64ビットWindowsシステムにキャストすると、コンパイラの警告がトリガーされます。それを回避し、エラー値をチェックするために、その値をにキャストできますunsigned long long
。