我试图在书中的样本后写一个消息地图。
这是我的代码:
typedef struct MsgMapEntry_t {
UINT nMessage;
LONG (*pFunc)(HWND, UINT, WPARAM, LPARAM);
} MsgMapEntry_t;
// Skip Lines
LRESULT CALLBACK CyauShellWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
static MsgMapEntry_t OnMsgMap[]=
(
// TODO Register MsgFunc here
WM_DESTROY, ExitApplication
);
编译它,编译器发出错误:
D:\ Projects \ cyau \ cyau_pre3_20120225 \ cyau_main.cpp:116:15:警告:逗号运算符的左操作数无效[-Wunused-value]
D:\ Projects \ cyau \ cyau_pre3_20120225 \ cyau_main.cpp:117:2:错误:初始化程序无法确定'OnMsgMap'的大小
那么,请如何纠正它。
答案 0 :(得分:1)
数组初始值设定项使用大括号{ ... }
而不是括号( ... )
。
答案 1 :(得分:0)
你需要两对花括号(一个用于数组,一个用于结构),而不是一对括号。
static MsgMapEntry_t OnMsgMap[]= { // start the array
// TODO Register MsgFunc here
{ // start the struct
WM_DESTROY, ExitApplication
} // end the struct; more data can go here after ','
}; // end the array