这几天刚学着写MFC...今天准备写个Hello World 小程序试试手....  出现了这样一个错误....--------------------Configuration: WinMain_Text - Win32 Debug--------------------
Compiling...
WinMain_Text.cpp
F:\练习\WinMain_Text.cpp(17) : error C2731: 'WinMain' : function cannot be overloaded
        F:\练习\WinMain_Text.cpp(11) : see declaration of 'WinMain'
Error executing cl.exe.WinMain_Text.exe - 1 error(s), 0 warning(s)*****************************************************
函数体如下:int WINAPI WinMain(
  HINSTANCE hInstance, 
  HINSTANCE hPrevInstance, 
  LPWSTR lpCmdLine, 
  int nShowCmd
)
{
 WNDCLASS wndclass; wndclass.cbClsExtra = 0;
 wndclass.cbWndExtra = 0;
 wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
 wndclass.hCursor = LoadCursor(NULL,IDC_ARROW);
 wndclass.hIcon = LoadIcon(NULL,IDI_APPLICATION);
 wndclass.hInstance = hInstance;
 wndclass.lpfnWndProc = WinProc;  //调用的函数
 wndclass.lpszClassName = "Test";
 wndclass.lpszMenuName = NULL;
 wndclass.style = CS_HREDRAW | CS_VREDRAW;
 RegisterClass(&wndclass); HWND hwnd;
 hwnd = CreateWindow("Text","Hello World!",WS_OVERLAPPEDWINDOW,0,0,600,400,NULL,NULL,hInstance,NULL); ShowWindow(hwnd,SW_SHOWDEFAULT);
 UpdateWindow(hwnd); MSG msg; while(GetMessage(&msg,hwnd,0,0))
 {
  TranslateMessage(&msg);
        DispatchMessage(&msg);
 }//end while return 0;}//end WinMain还望达人解释下....谢谢!

解决方案 »

  1.   

    这是全部代码吗?你用的是MFC向导生成的工程吗?
      

  2.   

    int WinMain(          HINSTANCE hInstance,
        HINSTANCE hPrevInstance,
        LPSTR lpCmdLine,
        int nCmdShow
    );
      

  3.   

    这不是sdk编程么,我觉得你的winMain函数可能写错了,你在看看窗口过程函数WinProc,是不是值传错了。
      

  4.   

    while(true)
    {
    if(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
    {
    if(msg.message == WM_QUIT)
    {
    break;
              }
    TranslateMessage(&msg);
    DispatchMessage(&msg);


    }
    }
    return int(msg.wParam);
      

  5.   

    你建的工程是Win32 Application吧,不会建成了别的工程了吧.另外检查一下windows.h包含了吗?
      

  6.   

    参数类型是LPSTR,而不是LPWSTR
    这条行的,但是不知道原理,可否请教一下?
      

  7.   

    而且,楼主说了学MFC,MFC中有WinMain吗?
      

  8.   

    WinProc是什么?没有定义就直接调用,那怎么能行。
      

  9.   

    mfc里面是有winmain的
    可以找一本孙鑫老师的《vc++深入详解》看看
    上面讲的 很清楚
      

  10.   

    MFC类库里已经封装了WinMain函数,你不需要写WinMain,如果要写,必须是非MFC的工程。
      

  11.   

    int APIENTRY WinMain(HINSTANCE hInstance,
                         HINSTANCE hPrevInstance,
                         LPSTR     lpCmdLine,
                         int       nCmdShow)Win32程序WinMain原型
      

  12.   

    遇到同样的问题,bob2034 是对的