预期的标识符还是什么? 我在DeV C++中发布了下面的代码,这是一个更新版本,奥威尔版本。它给了我一些错误,我希望你能帮助我:)大多数错误已经被我纠正了,但有些我就是解释不了。我只是想做一个简单的微软应用程序

预期的标识符还是什么? 我在DeV C++中发布了下面的代码,这是一个更新版本,奥威尔版本。它给了我一些错误,我希望你能帮助我:)大多数错误已经被我纠正了,但有些我就是解释不了。我只是想做一个简单的微软应用程序,c,windows,C,Windows,编译器给我这个错误: 第53行[错误]应为“{”标记之前的标识符或“(” 守则: # include <windows.h> LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM); int WinMain (HINSTANCE hinstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { static TCHAR szAppName

编译器给我这个错误:

第53行[错误]应为“{”标记之前的标识符或“(”

守则:

# include <windows.h>
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM);
int WinMain (HINSTANCE hinstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
    {

        static TCHAR szAppName[] = TEXT ("HelloWin");
        HWND                    hwnd;
        MSG                     msg;
        WNDCLASS                wndclass;
        wndclass.style         = CS_HREDRAW| CS_VREDRAW;
        wndclass.lpfnWndProc   = WndProc;
        wndclass.cbClsExtra    = 0;
        wndclass.cbWndExtra    = 0;
        wndclass.hInstance     = hinstance;
        wndclass.hIcon         = LoadIcon (NULL, IDI_APPLICATION);
        wndclass.hCursor       = LoadCursor (NULL, IDC_ARROW);
        wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH);
        wndclass.lpszMenuName  = NULL;
        wndclass.lpszClassName = szAppName;

        if (!RegisterClass (&wndclass))
        {
            MessageBox (NULL, TEXT ("XXCXCXCXCX"), szAppName, MB_ICONERROR);
            return     (0);
         }     

        hwnd  = CreateWindow    (szAppName,
                                TEXT("FRFRFRFRF"),
                                WS_OVERLAPPEDWINDOW,
                                CW_USEDEFAULT,
                                CW_USEDEFAULT,
                                CW_USEDEFAULT,
                                CW_USEDEFAULT,
                                NULL,
                                NULL,
                                hinstance,
                                NULL);
        ShowWindow  (hwnd, iCmdShow);
        UpdateWindow (hwnd);

        while (GetMessage (&msg, NULL, 0, 0))
            {
                TranslateMessage (& msg);
                DispatchMessage  (& msg);
            }   /* END while*/
            return (msg.wParam);

    }           /* END WinMain () */


LRESULT CALLBACK WndProc(HWND, UINT message, WPARAM wParam, LPARAM lparam);
  { ("**this is line 53**")




                HDC                   hdc;
                PAINTSTRUCT           ps;
                RECT                  rect;


                switch (message)

                {

                    case        WM_CREATE:
                                PlaySound("FRFRFRZZZZZ.wav"), NULL, SND_FILENAME|SND-ASIAC
                                return (0);

                    case        WM_PAINT:
                                hdc = BeginPaint (hwnd, &ps);
                                GetClientRect (hwnd, &rect);
                                DrawText (hdc, TEXT ("HZHZHZHZ!"), -1, &, DT_SINGLELINE|DT-CENTER|DT_VCENT;
                                EndPoint (hwnd, &ps);
                                return (0);

                    case        WM_DESTROY;
                                PostQuitMessage (0);
                                return (0);

                }  

                return      (DefWindowProc (hwnd, message, wParam, lParam));

    }        
#包括
LRESULT回调WndProc(HWND、UINT、WPARAM、LPARAM);
int WinMain(HINSTANCE HINSTANCE、HINSTANCE hPrevInstance、PSTR szCmdLine、int iCmdShow)
{
静态TCHAR szAppName[]=文本(“HelloWin”);
HWND-HWND;
味精;
WNDCLASS WNDCLASS;
wndclass.style=CS_HREDRAW | CS_VREDRAW;
wndclass.lpfnWndProc=WndProc;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hInstance=hInstance;
wndclass.hIcon=LoadIcon(空,IDI_应用程序);
wndclass.hCursor=LoadCursor(空,IDC_箭头);
wndclass.hbrBackground=(HBRUSH)GetStockObject(白色画笔);
wndclass.lpszMenuName=NULL;
wndclass.lpszClassName=szAppName;
if(!RegisterClass(&wndclass))
{
MessageBox(空,文本(“xxcxcx”),szAppName,MB_ICONERROR);
返回(0);
}     
hwnd=CreateWindow(szAppName,
文本(“FRF”),
WS_重叠窗口,
CW_使用默认值,
CW_使用默认值,
CW_使用默认值,
CW_使用默认值,
无效的
无效的
hinstance,
无效);
显示窗口(hwnd、iCmdShow);
更新窗口(hwnd);
while(GetMessage(&msg,NULL,0,0))
{
翻译信息(&msg);
发送消息(&msg);
}/*结束时*/
返回(msg.wParam);
}/*结束WinMain()*/
LRESULT回调WndProc(HWND、UINT消息、WPARAM WPARAM、LPARAM LPARAM);
{(“**这是第53行**”)
HDC-HDC;
PAINTSTRUCT-ps;
RECT-RECT;
开关(信息)
{
案例WM_创建:
播放声音(“frzzzzz.wav”),空,SND|U文件名| SND-ASIAC
返回(0);
案例WM_油漆:
hdc=开始喷漆(hwnd和ps);
GetClientRect(hwnd和rect);
DrawText(hdc,TEXT(“hzhzhzhzhz!”),-1,&,DT|u单线| DT-CENTER | DT|VCENT;
终点(hwnd和ps);
返回(0);
案例WMU破坏;
PostQuitMessage(0);
返回(0);
}  
返回(DefWindowProc(hwnd、message、wParam、lParam));
}        

新年快乐,代码的其他部分都好吗?

删除分号
位于:

LRESULT CALLBACK WndProc(HWND, UINT message, WPARAM wParam, LPARAM lparam);
为清晰起见进行了编辑

在开头有一个声明,如下所示

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM); // <-- OK

LRESULT CALLBACK WndProc(HWND、UINT、WPARAM、LPARAM);//在回调函数中,调用PlaySound和DrawText函数时,缺少“()”和“)”。函数参数应放在()。

顺便说一下,当消息为WM_PAINT时,如果您想调用EndPaint而不是EndPoint。

哪一行是第53行?编辑器中有行号。您至少可以在代码中添加注释以指示错误发生的位置。根据该行以及{是问题所在,应该不难发现。很抱歉,我没有推出53行。现在已经更正。请看
DrawText(hdc,…,-1,&,DT_……)
。该行包含三个不同的错误。如果我这样做,我将进入第52行:[错误]参数名omitted@Janac哦,省略参数名是合法C++,你把这个问题标记为。无论如何,既然我们已经建立了C,只要给它起个名字。我不知道C++是完全不同的语言。它是C是的。@ JANAC听起来很粗糙:学习编程。把随机源代码粘贴到井手上。不会让你有任何进展的。李为你的问题提供了正确的答案。你应该接受它。现在已经解决了,但是第53行怎么办?
LRESULT CALLBACK WndProc(HWND, UINT message, WPARAM wParam, LPARAM lparam); // <--Error. Delete ';'
{ ("**this is line 53**")
:
}