C++ Return w funkcji nie działa.
Ostatnio zmodyfikowano 2017-01-04 20:56
pealike Temat założony przez niniejszego użytkownika |
C++ Return w funkcji nie działa. » 2017-01-03 19:01:20 Witam, mam pewny problem z funkcją return w mojej funkcji, która ma zwracać 1 albo 2. Jest mi to potrzebne do określania miejsca gracza, wydaję mi się, że wszystko dobrze zrobiłem. Nie umiem tego wytłumaczyć, po prostu dzięki zwracaniu danej liczby w funkcji zależy gdzie gracz się dalej będzie poruszał. Podrzucam to, w czym tkwi problem. W main.cpp: napisy.wyborklasa(); cin >> wybor_klasa; if( wybor_klasa == 1 ) wsk = & w1;
if( wybor_klasa == 2 ) wsk = & m1;
cout << "test" << endl; for(;; ) { wsk->wyswietl(); cout << miejsce << endl; if( miejsce == 0 ) m_0.miejsce_0( miejsce ); if( miejsce == 1 ) cout << "test" << endl; getch(); } getch(); break;
W drugim pliku: (zamieszczam tylko funkcję "m_0.miejsce_0") class Miejsce0 { public: int miejsce_0( int miejscek ) { miejscek = 0; int wybor_miejsce_0; Napisy napisy; napisy.miejsce_0(); cin >> wybor_miejsce_0; if( wybor_miejsce_0 == 1 ) miejscek = 1; return miejscek; if( wybor_miejsce_0 == 2 ) miejscek = 2; return miejscek; } };
Pozdrawiam i liczę na szybką pomoc. |
|
pekfos |
» 2017-01-03 19:03:19 if( wybor_miejsce_0 == 1 ) miejscek = 1; return miejscek;
|
To trochę za mało by przekonać kompilator, że obie te instrukcje mają być wykonywane warunkowo. |
|
pealike Temat założony przez niniejszego użytkownika |
» 2017-01-03 19:05:04 A jakbym dał coś takiego? if( wybor_miejsce_0 == 1 ) miejscek = 1;
if( wybor_miejsce_0 == 2 ) miejscek = 2;
return miejscek;
Pomimo tego to nie działa. Jak bym mógł rozwiązać ten problem? EDIT: W Switchu również też nie działa. |
|
pekfos |
» 2017-01-03 19:13:35 Warunkowi if podlega następna jedna instrukcja, lub blok instrukcji. Chcesz mieć tam dwie instrukcje, zgadnij co dalej. if( wybor_miejsce_0 == 1 ) miejscek = 1;
if( wybor_miejsce_0 == 2 ) miejscek = 2; |
Muszę zobaczyć, jak robisz to dla 1000 możliwych wartości. |
|
pealike Temat założony przez niniejszego użytkownika |
» 2017-01-03 19:38:56 No to w takim razie jak mogę rozwiązać ten problem? No bo to nadal nie działa, a nie wymyśliłem lepszego sposobu na przemieszczanie się i tak dalej. |
|
carlosmay |
» 2017-01-03 19:55:36 |
|
pealike Temat założony przez niniejszego użytkownika |
» 2017-01-03 20:09:53 to nadal nie działa nawet jeżeli dodaję klamry { }, robię tabulatory po IF'ach, switche również nie działają. Tu musi być inny błąd. |
|
pekfos |
» 2017-01-03 20:13:48 Podaj aktualny, niedziałający kod. |
|
« 1 » 2 |