我有一定C及C++学习经验,目前初学VC。
我是照黄维通编的VC++面向对象程序设计一书上做,这是一个入门级的程序,不过有些小问题:
#include <windows.h>
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpszcomLine,int nCmdShow)
{HWND hwnd;
MSG Msg;
WNDCLASS wndclass;
char lpszClassName[]="Form EmilMatthew";
char lpszTitle[]="Form Sample In VC";
wndclass.style=0;
wndclass.lpfnWndProc=WndProc;
wndclass.cbClsExtra=0;
wndclass.hInstance=hInstance;
wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wndclass.hCursor=LoadIcon(NULL,IDC_ARROW);
wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wndclass.lpszClassName;
if(!RegisterClass(&wndclass)){
MessageBeep(0);
return FALSE;
}
hwnd=CreateWindow(lpszClassName,lpszTitle,WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL);
ShowWindow(hwnd,nCmdShow);
UpdateWindow(hwnd);
while(GetMessage(&Msg,NULL,0,0)){
TranslateMessage(&Msg);
    DispatchMessage(&Msg);
}
return Msg.wParam;
}LRESULT CAllBACK WndProc(HWND hwnd,UNIT message,WPARAM wParam,LPARAM lParam){//问题提示
//在这一行
/*
D:\MyVC\Test\win1\Cpp1.cpp(31) : error C2146: syntax error : missing ';' before identifier 'WndProc'
D:\MyVC\Test\win1\Cpp1.cpp(31) : fatal error C1004: unexpected end of file found
Error executing cl.exe.Cpp1.obj - 2 error(s), 0 warning(s)
*/
switch (message){
case WM_DESTROY:
      PostQuitMessage(0);break;
default:
return DefWindowProc(hwnd,message,wParam,lParam);
}
return (0);
}
请问,我该如何处理?

解决方案 »

  1.   

    CAllBACK
    楼主个大猪头,大小写不分
      

  2.   

    将LRESULT CAllBACK WndProc(HWND hwnd,UNIT message,WPARAM wParam,LPARAM lParam)中的UNIT改成UINT就行了。
      

  3.   

    谢谢以上两位,不过我在连接时又出问题了~~~
    是不是哪能里路径没设对呀?
    Linking...
    LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
    Debug/Cpp1.exe : fatal error LNK1120: 1 unresolved externals
      

  4.   

    没有设置好动态连接库:project->setting->General->Use MFC in a Static Library
      

  5.   

    建议你生成一个“Hello World”程序
      

  6.   

    是因为你生成的是控制台空工程吧,因为是C函数,只认MAIN。
     改成简单工程应该就可以了,或者把WINMAIN改成MAIN,不过得
    加其它的头文件,也未必行得能