• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Tworzenie obiektów w switchu

Object Storage Arubacloud
0 głosów
682 wizyt
pytanie zadane 19 marca 2017 w C i C++ przez akiihombre Początkujący (250 p.)
zamknięte 19 marca 2017 przez akiihombre

Witam!


Podejmując się próby napisania gry tekstowej w C++ napotkałem na problem - nie mogę utworzyć obiektu w switchu. Mimo usilnych prób nie potrafię naprawić problemu i nie mam pojęcia gdzie jest błąd. Dodam, że wszystko działa, gdy utworzę klasę poza switchem.

A taki error wyskakuje: "error: 'player' was not declared in this scope".

           

switch (klasa1)
                {
  case 1:
     {
      Mag gracz("Mag");
      cout << "Wybrales Maga! Twoja przygoda sie rozpoczyna.Powodzenia!";
             break;
                        }

case 2:
   {
      Lucznik gracz("Lucznik");
      cout << "Wybrales Lucznika! Twoja przygoda sie rozpoczyna.Powodzenia!";
             break;
                        }

case 3:
 {
      Tank gracz("Tank");
      cout << "Wybrales Tanka! Twoja przygoda sie rozpoczyna. Powodzenia!";
          break;
                        }

case 4:
 {
      Dps gracz("Wojownik");
      cout << "Wybrales Wojownika! Twoja przygoda sie rozpoczyna. Powodzenia!";
          break;
                        }
                    }
                }


    Sleep(3000);

    cout << "KROTKIE PRZYGOTOWANIE"<< endl << endl;
    cout << "Pierwsza linijka to zawsze statystyki."<< endl;


    player.staty();

 

 

 

 

komentarz zamknięcia: Otrzymałem odpowiedz na pytanie.

3 odpowiedzi

+1 głos
odpowiedź 19 marca 2017 przez Adam Olesiak Gaduła (3,290 p.)
wybrane 19 marca 2017 przez akiihombre
 
Najlepsza
Deklarujesz te nowe obiekty lokalnie dla tego switcha. Zaraz po wyjściu ze switcha zostają usuniętę(tak samo jak np int i po zakończeniu pętli for). W twoim przypadku fajny byłby wskaźnik polimorficzny. Wtedy wystarczy zadeklarować jakiś ogólny obiekt Postac przed switchem i w switchu ustawić wskaźnik na Maga/Tanka itd
+1 głos
odpowiedź 19 marca 2017 przez mokrowski Mędrzec (155,460 p.)

Niepotrzebnie wstawiłeś tam nawiasy. To Ci tworzy zakresy a (jak powiedział kompilator) po wyjściu z zakresu obiekt tworzony na stosie jest niszczony. 

switch(klasa1) {
case 1: 
        Mag gracz("Mag");
        cout << "Wybrales Maga! Twoja przygoda sie rozpoczyna.Powodzenia!";
        break;
case 2: 
        Lucznik gracz("Lucznik");
        cout << "Wybrales Lucznika! Twoja przygoda sie rozpoczyna.Powodzenia!";
        break;
case 3: 
        Tank gracz("Tank");
        cout << "Wybrales Tanka! Twoja przygoda sie rozpoczyna. Powodzenia!";
        break;
case 4: 
        Dps gracz("Wojownik");
        cout << "Wybrales Wojownika! Twoja przygoda sie rozpoczyna. Powodzenia!";
        break;
}


Sleep(3000);

cout << "KROTKIE PRZYGOTOWANIE" << endl << endl;
cout << "Pierwsza linijka to zawsze statystyki." << endl;


player.staty();

 

0 głosów
odpowiedź 19 marca 2017 przez akiihombre Początkujący (250 p.)
Dziękuje za odpowiedzi, udało mi się dzięki nim naprawić problem. ;)

Zamykam i zostawiam dla potomnych!

Podobne pytania

0 głosów
1 odpowiedź 462 wizyt
0 głosów
1 odpowiedź 1,544 wizyt
pytanie zadane 24 maja 2018 w C i C++ przez mIKY Nowicjusz (120 p.)
0 głosów
3 odpowiedzi 1,349 wizyt
pytanie zadane 17 maja 2018 w C i C++ przez giedymin33 Początkujący (290 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...