[C++] Identifier "hInstance" is undefined


(Lord Nightmarek) #1

Witam, od około tygodnia mam problem "Error:identifier hInstance is undefined" w tym kodzie:

#include 


#pragma comment (lib, "d3d9.lib")

#pragma comment (lib, "d3dx9.lib")


IDirect3D9* pD3D;

IDirect3DDevice9* pDev;


HWND hWnd;


void InitWindow()

{

	int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpsCmdLine, int nMode);

	{

		HWND hOkno;

		MSG message;

		WNDCLASS okno;


		okno.hInstance = [color=#FF0000]hInstance[/color];

		okno.lpszClassName = "MAINCLASS";

		okno.lpfnWndProc = DefWindowProc;

		okno.lpszMenuName = NULL;

		okno.style = 0;

		okno.hIcon = LoadIcon (NULL, IDI_WINLOGO);

		okno.hCursor = LoadCursor (NULL, IDC_ARROW);

		[color=#FF0000]okno[/color].hbrBackground = (HBRUSH) GetStockObject (BLACK_BRUSH);

		okno.cbClsExtra = 0;

		okno.cbWndExtra = 0;

		if(!RegisterClass (&okno)) return 0;

		hOkno = CreateWindow ("MAINCLASS", "Window0.1",

				WS_OVERLAPPEDWINDOW, 100,100,200,100,

				NULL, NULL, hInstance, NULL);

		ShowWindow (hOkno, SW_SHOW);


		while (GetMessage (&message, NULL, 0, 0))

		{

			DispatchMessage (&message);

		}	

	}

}

Kompilator : Visual Studio C++ Express 2010

Co zrobić w tym wypadku? Kiedy usunę średnik po argumentach funkcji WinMain to sytuacja wygląda tak samo, tylko, że w przypadku "okno.hbrBackground" (identifier "okno" is undefined)


(Rolek0) #2

1.W C++ nie mozna zagnieżdżać funkcji.

2.WinMain musi być funkcją globalną.

3.Radzę douczyć się C++, np. stąd: http://xion.org.pl/productions/texts/co ... atutorial/

4.Co w ogóle próbowałeś zrobić zagnieżdżając WinMain?