GetLastError 関数が返したシステムエラーコードに対応するエラーメッセージを取
得しようとして
以下のようなプログラムを埋め込むと、

LPVOID lpMsgBuf;
FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGN
ORE_INSERTS,
NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL,
SUBLANG_DEFAULT), (LPTSTR)&lpMsgBuf, 0, NULL );

MessageBox( NULL, (LPCTSTR)lpMsgBuf, "Error", MB_OK |
MB_ICONINFORMATION );
LocalFree( lpMsgBuf );

error C2660: 'MessageBoxA' : 関数が不正な 4 個の実引数をともなって呼び出され
ました。
cl.exe の実行エラー

とでてきます。これはなぜ起こるのでしょうか?以前はちゃんとエラーが帰ってきた
のですが、
最近はこのエラーがでて使えません。よろしくお願いします。