Debbuger zwraca błąd i nie wiem dlaczego


(karton16) #1

Od niedawna piszę swoją aplikację GUI w allegro w c++

Oto moje początki:

#include 

#include 



using namespace std;



void gui_main()

{

     allegro_init();

     install_keyboard();

     set_color_depth(32);


     }




void window(int w, int h, string rodzaj)

     {

          if(rodzaj == "FULLSCREEN")

          {

                    set_gfx_mode(GFX_AUTODETECT_FULLSCREEN,w,h,0,0);

                    }

                    else

                    {

                        if(rodzaj=="WINDOWS")

                        {


                     set_gfx_mode(GFX_AUTODETECT_WINDOWED,w,h,0,0);

                     }

                     }

                     set_palette(default_palette);

          }


void background()

{


     clear_to_color(screen, makecol(192,192,192));


     }




int main()

{

 gui_main();

 window(800, 800, WINDOWS);

 background();


 readkey();

 allegro_exit();

 return 0;   

}

END_OF_MAIN();

Po próbie kompilacji otrzymuję następujący komunikat:

Może ktoś wie jak to naprawić.


(Razi) #2

Co miało być w zmiennej WINDOWS? Nigdzie jej nie deklarujesz.


(kijek) #3

A nie przypadkiem kompilator?


(etam) #4

Jeżeli masz void window(int w, int h, string rodzaj), to wywołanie powinno być window(800, 800, "WINDOWS");. Jednak w tym przypadku lepiej by było gdyby rodzaj był typu enum, a nie string.