Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Bezsensowny błąd kompilacji - "wWinMain" funkcja nie może być przeciążona

Ostatnio zmodyfikowano 2017-04-05 23:46
Autor Wiadomość
Seraphin2508
Temat założony przez niniejszego użytkownika
Bezsensowny błąd kompilacji - "wWinMain" funkcja nie może być przeciążona
» 2017-04-05 23:04:23
Kod źródłowy
C/C++
#include <Windows.h>
#include <tchar.h>

#define NazwaKlasy _T("Klasa Okienka")

MSG Komunikat;

///////////////////////////////////////////////////////////////////////////////////////// obsługa komunikatów
LRESULT CALLBACK WndProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam )
{
    switch( msg )
    {
    case WM_CLOSE:
        DestroyWindow( hwnd );
        break;
       
    case WM_DESTROY:
        PostQuitMessage( 0 );
        break;
       
        default:
        return DefWindowProc( hwnd, msg, wParam, lParam );
    }
   
    return 0;
}

////////////////////////////////////////////////////////////////////////////////////////////////////// główna funkcja
int WINAPI _tWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, INT nCmdShow )
{
    ///////////////////////////////////////////////////////////// tworzenie klasy okna
    WNDCLASSEX wc;
    wc.cbSize = sizeof( WNDCLASSEX );
    wc.style = 0;
    wc.lpfnWndProc = WndProc;
    wc.cbClsExtra = 0;
    wc.cbWndExtra = 0;
    wc.hInstance = hInstance;
    wc.hIcon = LoadIcon( NULL, IDI_APPLICATION );
    wc.hCursor = LoadCursor( NULL, IDC_ARROW );
    wc.hbrBackground =( HBRUSH )( COLOR_WINDOW + 1 );
    wc.lpszMenuName = NULL;
    wc.lpszClassName = NazwaKlasy;
    wc.hIconSm = LoadIcon( NULL, IDI_APPLICATION );
   
    if( !RegisterClassEx( & wc ) )
    {
        MessageBox( NULL, _T( "Wysoka Komisja odmawia rejestracji tego okna!" ), _T( "Niestety..." ),
        MB_ICONEXCLAMATION | MB_OK );
        return 1;
    }
   
    ///////////////////////////////////////////////////////////// tworzenie okna
    HWND hwnd;
   
    hwnd = CreateWindowEx( WS_EX_CLIENTEDGE, NazwaKlasy, _T( "Oto okienko" ), WS_OVERLAPPEDWINDOW,
    CW_USEDEFAULT, CW_USEDEFAULT, 240, 120, NULL, NULL, hInstance, NULL );
   
    if( hwnd == NULL )
    {
        MessageBox( NULL, _T( "Okno odmówiło przyjścia na świat!" ), _T( "Ale kicha..." ), MB_ICONEXCLAMATION );
        return 1;
    }
   
    ShowWindow( hwnd, nCmdShow ); // pokazanie okna
    UpdateWindow( hwnd ); // odświerzenie okna, by na pewno wszystko nam się poprawnie wyświetlało
   
    while( GetMessage( & Komunikat, NULL, 0, 0 ) ) // pętla komunikatów
    {
        TranslateMessage( & Komunikat );
        DispatchMessage( & Komunikat );
    }
   
    return Komunikat.wParam;
   
    return 0;
}

Log Kompilacji
error C2731: "wWinMain": funkcja nie może być przeciążona

pokazuje że error jest w 30 linijce kodu (linijka z nawiasem "{" zaczynającym blok funkcji _tWinMain)
P-159852
Luq
» 2017-04-05 23:46:50
Jako trzeci parametr WinMaina daj LPTSTR zamiast LPSTR
P-159859
« 1 »
  Strona 1 z 1