注册 登录
编程论坛 C++教室

语法错误

肖付 发布于 2011-04-09 11:38, 477 次点击
有这样一段代码,,只是其中的一部分,就是主要出错的地方。
case WM_KEYDOWN:   //按键按下的消息
        switch ( wParam)
        {
        case VK_ESCAPE://退出
            PostQuitMessage ( 0 );
            break;
        case VK_UP://向上
            archKeyStatus[KEYDOWN_MOVE_UP]=true;
            dir = 0;
            break;
        case VK_DOWN://向下
            archKeyStatus[KEYDOWN_MOVE_DOWN]=true;
            dir = 1;
            break;
        case VK_LEFT://向左
            archKeyStatus[KEYDOWN_MOVE_LEFT] = true;
            dir = 2;
            break;
        case VK_RIGHT://向右
            archKeyStatus[KEYDOWN_MOVE_RIGHT] = true;
            dir = 3;
            break;
        }

然后老是说这个问题,但是我改来改去就是还是不知道哪儿出错了,求给位花点时间指教哈。
:\游戏编程的工程\游戏编程的键盘移动\fu ling\fu ling.cpp(168) : error C2143: syntax error : missing ']' before ';'
D:\游戏编程的工程\游戏编程的键盘移动\fu ling\fu ling.cpp(168) : error C2143: syntax error : missing ';' before ']'
D:\游戏编程的工程\游戏编程的键盘移动\fu ling\fu ling.cpp(172) : error C2143: syntax error : missing ']' before ';'
D:\游戏编程的工程\游戏编程的键盘移动\fu ling\fu ling.cpp(172) : error C2143: syntax error : missing ';' before ']'
D:\游戏编程的工程\游戏编程的键盘移动\fu ling\fu ling.cpp(176) : error C2143: syntax error : missing ']' before ';'
D:\游戏编程的工程\游戏编程的键盘移动\fu ling\fu ling.cpp(176) : error C2143: syntax error : missing ';' before ']'
D:\游戏编程的工程\游戏编程的键盘移动\fu ling\fu ling.cpp(180) : error C2143: syntax error : missing ']' before ';'
D:\游戏编程的工程\游戏编程的键盘移动\fu ling\fu ling.cpp(180) : error C2143: syntax error : missing ';' before ']'
D:\游戏编程的工程\游戏编程的键盘移动\fu ling\fu ling.cpp(190) : error C2143: syntax error : missing ']' before ';'
D:\游戏编程的工程\游戏编程的键盘移动\fu ling\fu ling.cpp(190) : error C2143: syntax error : missing ';' before ']'
D:\游戏编程的工程\游戏编程的键盘移动\fu ling\fu ling.cpp(193) : error C2143: syntax error : missing ']' before ';'
D:\游戏编程的工程\游戏编程的键盘移动\fu ling\fu ling.cpp(193) : error C2143: syntax error : missing ';' before ']'
D:\游戏编程的工程\游戏编程的键盘移动\fu ling\fu ling.cpp(196) : error C2143: syntax error : missing ']' before ';'
D:\游戏编程的工程\游戏编程的键盘移动\fu ling\fu ling.cpp(196) : error C2143: syntax error : missing ';' before ']'
D:\游戏编程的工程\游戏编程的键盘移动\fu ling\fu ling.cpp(199) : error C2143: syntax error : missing ']' before ';'
D:\游戏编程的工程\游戏编程的键盘移动\fu ling\fu ling.cpp(199) : error C2143: syntax error : missing ';' before ']'
D:\游戏编程的工程\游戏编程的键盘移动\fu ling\fu ling.cpp(245) : error C2143: syntax error : missing ']' before ';'
D:\游戏编程的工程\游戏编程的键盘移动\fu ling\fu ling.cpp(245) : error C2143: syntax error : missing ';' before ']'
D:\游戏编程的工程\游戏编程的键盘移动\fu ling\fu ling.cpp(246) : error C2143: syntax error : missing ';' before '{'
D:\游戏编程的工程\游戏编程的键盘移动\fu ling\fu ling.cpp(268) : error C2143: syntax error : missing ']' before ';'
D:\游戏编程的工程\游戏编程的键盘移动\fu ling\fu ling.cpp(268) : error C2143: syntax error : missing ';' before ']'
D:\游戏编程的工程\游戏编程的键盘移动\fu ling\fu ling.cpp(269) : error C2143: syntax error : missing ';' before '{'
D:\游戏编程的工程\游戏编程的键盘移动\fu ling\fu ling.cpp(278) : error C2143: syntax error : missing ';' before ':'
D:\游戏编程的工程\游戏编程的键盘移动\fu ling\fu ling.cpp(278) : error C2143: syntax error : missing ';' before ':'
D:\游戏编程的工程\游戏编程的键盘移动\fu ling\fu ling.cpp(293) : error C2143: syntax error : missing ']' before ';'
D:\游戏编程的工程\游戏编程的键盘移动\fu ling\fu ling.cpp(293) : error C2143: syntax error : missing ';' before ']'
D:\游戏编程的工程\游戏编程的键盘移动\fu ling\fu ling.cpp(294) : error C2143: syntax error : missing ';' before '{'
D:\游戏编程的工程\游戏编程的键盘移动\fu ling\fu ling.cpp(316) : error C2143: syntax error : missing ']' before ';'
D:\游戏编程的工程\游戏编程的键盘移动\fu ling\fu ling.cpp(316) : error C2143: syntax error : missing ';' before ']'
D:\游戏编程的工程\游戏编程的键盘移动\fu ling\fu ling.cpp(317) : error C2143: syntax error : missing ';' before '{'
执行 cl.exe 时出错.
4 回复
#2
肖付2011-04-09 13:58
难道没人知道吗,,还是说我的表述有问题,没有让大家看明白是怎么回事。。
#3
ljt2011-04-09 14:34
应该是用一个消息结构体才对啊,比如switch(msg->wparam){case xxx:...},msg为一个消息结构体
#4
try_catch2011-06-21 06:29
回复 3楼 ljt
他的那个case的东西。。应该是已经定义的,比如键盘的某个按键。。我觉得问题不是那个
#5
try_catch2011-06-21 06:36
我觉得问题在下面四行:

archKeyStatus[KEYDOWN_MOVE_UP]=true;
archKeyStatus[KEYDOWN_MOVE_DOWN]=true;
archKeyStatus[KEYDOWN_MOVE_LEFT] = true;
archKeyStatus[KEYDOWN_MOVE_RIGHT] = true;

另外我没用过在switch case里面嵌套switch case,不过如果compile的时候没有报错。。应该没什么问题。。
建议楼主把上面四行删了。。先试试看
然后再把里层的switch case换成if else..但是一个case里面用{}包好
1