x-kom hosting

[rozwiazany]problem Z Klasą (c++)

tom300
utworzono
utworzono

kod winda.h:

class winda{public:	int Start();	void Okno();private:	HINSTANCE hInstance;	HINSTANCE hPrevInstance;	LPSTR lpCmdLine;	int nCmdShow;	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;}	HWND NoweOkno()	{	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 = TEXT("lol");	wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION);	if(!RegisterClassEx(&wc)) return (HWND)1;	HWND hwnd = CreateWindowEx(WS_EX_CLIENTEDGE, TEXT("lol"), TEXT("Oto okienko"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 240, 120, NULL, NULL, hInstance, NULL);	if(hwnd==NULL) return (HWND)1;	ShowWindow(hwnd, nCmdShow);	UpdateWindow(hwnd);	}};

i kod błędu:

c:\documents and settings\tomash\moje dokumenty\visual studio 2005\projects\pod_winde\pod_winde\winda.h(36) : error C3867: 'winda::WndProc': function call missing argument list; use '&winda::WndProc' to create a pointer to memberc:\documents and settings\tomash\moje dokumenty\visual studio 2005\projects\pod_winde\pod_winde\winda.h(36) : error C2440: '=' : cannot convert from 'LRESULT (__stdcall winda::* )(HWND,UINT,WPARAM,LPARAM)' to 'WNDPROC'        There is no context in which this conversion is possible

Błąd dotyczy dokładnie tej linii kodu:

wc.lpfnWndProc = WndProc;

Proszę o pomoc, bo nie mam pojęcia co z tym zrobić :(:(:(

LiSeK94
komentarz
komentarz

To tak w tek linijce błędu

wc.lpfnWndProc = WndProc;

Przed WndProc; nie powinno być ,ale zamiast tego &winda ; lub WndProc' ;

Coś takiego ale nie wiem dokładnie...

tom300
komentarz
komentarz (edytowane)

Jeszcze jedno: Gdyby ten cały kod nie był umieszczony w klasie to by działało :blink: Ale mi zależy na tym żeby był w klasie.

W kodzie błędu kompilator mówi żeby zmienić WndProc na &winda::WndProc i wtedy jest tylko błąd, że nie może skonwertować do tego typu :(

Edytowany przez tom300:

Poradziłem sobie z błędem :D

Wystarczyło dać funkcje WndProc jako zaprzyjaźnioną

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
Zarejestruj się lub zaloguj, aby dodać nowy temat albo zadaj pytanie bez logowania
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Strona wykorzystuje pliki cookies w celu prawidłowego świadczenia usług i wygody użytkowników. Warunki przechowywania i dostępu do plików cookies możesz zmienić w ustawieniach przeglądarki.