Microsoft Visual C++ Express 2012 を使用しています。ヘッダー設定の一部として次のものがあります。
#include <windows.h>
#include <Ole2.h>
単独でインクルードwindows.h
するとビルド エラーは発生しませんが、インクルードOle2.h
の有無にwindows.h
かかわらずwindows.h
、次のコンパイラ エラーが発生します。
Error 1 error C2628: '_RPC_ASYNC_NOTIFICATION_INFO::$UnnamedClass$0x1c06c483$29$' followed by 'int' is illegal (did you forget a ';'?) C:\Program Files (x86)\Windows Kits\8.0\Include\shared\rpcasync.h 127 1 Test`
何がうまくいかないのでしょうか?最終的に、Kinect とやり取りするための簡単なコードを書き込もうとしていますが、Kinect のインクルードがなくても上記のエラーが生成されます。
エラーをダブルクリックするrpcasync.h
と、次のコードが表示されます。
#if !defined(RPC_NO_WINDOWS_H)
//
// Notification by window message
//
struct {
HWND hWnd;
UINT Msg;
} HWND; //<<<-------- the error points here (HWND is underlined in red)
#endif // RPC_NO_WINDOWS_H
PS私がまったく含めている理由は、このチュートリアルOle2.h
に従っているからです。