Перегруженный метод не видит другие методы класса и публичные члены. Из-за чего может такое случиться?
public:
void End_Race();
void Draw_Data(int);
bool Get_Sum(Player*);
bool Get_Bet(int);
bool Get_Bet(int, Player*);
void Menu_Script();
bool New_Game();
SDL_Surface* New_Frame();
bool OnInit();
void OnEvent(SDL_Event* Event);
void OnLoop();
void OnRender();
void OnCleanup();
};
Метод Get_Bet(int) работает прекрасно, но метод Get_Bet(int, Player*) не работает.
bool Get_Bet(int pers, Player* player){
SDL_Surface *menu_surf;
menu *new_bet_menu;
bool check=false;
new_bet_menu = new menu;
menu_surf=(*new_bet_menu).Get_Bet(pers);
SDL_BlitSurface(menu_surf, NULL, Surf_Display, NULL);
bool menu_bet_doing =true;
while(menu_bet_doing){
while(SDL_PollEvent(&Event)) {
switch(Event.type){
case SDL_KEYDOWN:
switch(Event.key.keysym.sym){
case SDLK_UP:
if((*new_bet_menu).menu_step>1){
(*new_bet_menu).menu_step--;
menu_surf=(*new_bet_menu).Get_Bet(pers);
SDL_BlitSurface(menu_surf, NULL, Surf_Display, NULL);
}
break;
case SDLK_DOWN:
if((*new_bet_menu).menu_step<5){
(*new_bet_menu).menu_step++;
menu_surf=(*new_bet_menu).Get_Bet(pers);
SDL_BlitSurface(menu_surf, NULL, Surf_Display, NULL);
}
break;
case SDLK_RETURN:
switch ((*new_bet_menu).menu_step){
case 1:
(*player).tar=1;
if(Get_Sum(player)==true){
//if(i==count_players-1)return true;
menu_bet_doing=false;
//SDL_BlitSurface(menu_surf, NULL, Surf_Display, NULL);
};SDL_BlitSurface(menu_surf, NULL, Surf_Display, NULL);
break;
case 2:
(*player).tar=2;
if(Get_Sum(player)==true){
//if(i==count_players-1)return true;
menu_bet_doing=false;
//SDL_BlitSurface(menu_surf, NULL, Surf_Display, NULL);
};SDL_BlitSurface(menu_surf, NULL, Surf_Display, NULL);
break;
case 3:
(*player).tar=3;
if(Get_Sum(player)==true){
//if(i==count_players-1)return true;
menu_bet_doing=false;
//SDL_BlitSurface(menu_surf, NULL, Surf_Display, NULL);
};SDL_BlitSurface(menu_surf, NULL, Surf_Display, NULL);
break;
case 4:
(*player).tar=4;
if(Get_Sum(player)==true){
//if(i==count_players-1)return true;
menu_bet_doing=false;
//SDL_BlitSurface(menu_surf, NULL, Surf_Display, NULL);
};SDL_BlitSurface(menu_surf, NULL, Surf_Display, NULL);
break;
case 5:
(*player).tar=5;
if(Get_Sum(player)==true){
//if(i==count_players-1)return true;
menu_bet_doing=false;
//SDL_BlitSurface(menu_surf, NULL, Surf_Display, NULL);
};SDL_BlitSurface(menu_surf, NULL, Surf_Display, NULL);
break;
}
}
}
}
}
}
Проблемы возникают с публичным полем Surf_Display и с методом Get_Sum()
Перед именем метода нету имени класса::. То есть у вас - свободная функция. Вот она ничего и не видит, ибо к классу не имеет отношения.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Как считывать количество чисел в файле? Спасибо всем!
Как запустить консольную программу сделанную в Visual Studio через CreateProcess? Ошибок не выскакивает, но программа не запускается