Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

C++ Return w funkcji nie działa.

Ostatnio zmodyfikowano 2017-01-04 20:56
Autor Wiadomość
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:
C/C++
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")
C/C++
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.
P-155901
pekfos
» 2017-01-03 19:03:19
C/C++
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.
P-155903
pealike
Temat założony przez niniejszego użytkownika
» 2017-01-03 19:05:04
A jakbym dał coś takiego?
C/C++
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.
P-155904
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.

C/C++
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.
P-155907
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.
P-155912
carlosmay
» 2017-01-03 19:55:36
» Kurs C++ » Poziom 1Instrukcja warunkowa if ... else lekcja
podpowiedź: jak stworzyć blok instrukcji?
P-155914
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.
P-155916
pekfos
» 2017-01-03 20:13:48
Podaj aktualny, niedziałający kod.
P-155917
« 1 » 2
  Strona 1 z 2 Następna strona