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

no matching function for call to 'Pilka::zmianaKierunku()'

0 głosów
653 wizyt
pytanie zadane 21 października 2016 w C i C++ przez PaulW Początkujący (470 p.)
edycja 21 października 2016 przez PaulW

Problem jest następujący , wyskakuję mi poniższy komunikat podczas kompilacji :

no matching function for call to 'Pilka::zmianaKierunku()'|

candidate is:

Pilka::zmianaKierunku(Pilka::stan)|

Będę bardzo wdzięczny za pomoc , bo nie wiem co może być nie tak.

Pozdrawiam , 

Paweł

komentarz 21 października 2016 przez Eryk Andrzejewski Mędrzec (164,260 p.)
Regulamin tego forum zabrania wstawiania kodu jako screenshoty. Dlatego proszę na przyszłość zwyczajnie wkleić kod do specjalnego bloczku, lub po prostu podać link do wklejki.
komentarz 21 października 2016 przez criss Mędrzec (172,570 p.)
Powinni wieszać za te screenshoty :-:

1 odpowiedź

0 głosów
odpowiedź 21 października 2016 przez Szykem2 Nałogowiec (29,510 p.)
wybrane 21 października 2016 przez PaulW
 
Najlepsza
pilka->zmanaKierunku(pilka->zmianaKierunku() == DOLLEWA ? GORAPRAWA : GORALEWA);

zmianaKierunku pobiera argument int(stan). W argumencie tej metody wywołujesz ją jeszcze raz bez argumentu (i tu jest błąd bo takowa jest niezdefiniowana) i chcesz jej rezultat porównać z DOLLEWA (co też jest błędem bo metoda zwraca void.

komentarz 21 października 2016 przez PaulW Początkujący (470 p.)

Ok , poprawię . Mam pytanie , można w jakiś sposób dziedziczyć typ wyliczeniowy enum zadeklarowany w klasie Pilka ?  

Jeżeli ponownie nie zadeklaruję go w pliku menedzer.cpp , wyskakuje mi błąd o braku deklaracji jego wartości .

 

komentarz 21 października 2016 przez Szykem2 Nałogowiec (29,510 p.)

Nie wiem dokładnie jak można by osiągnąć dokładnie to o czym mówisz. Spróbuj w klasie dziedziczącej zrobić Pilka::GORALEWA, powinno działać. Jeśli by jednak nie działało to wyrzuć tego enuma i zrób klasę wyliczeniową. Działa tak samo tylko zawsze musisz podać zakres.

enum class Type{
    FIRST,
    SECOND
};

/...

Type::FIRST // tak się odnosisz do wartości

 

komentarz 21 października 2016 przez PaulW Początkujący (470 p.)
Dzięki wielkie , udało mi się już wszystko naprawić :))

Podobne pytania

0 głosów
2 odpowiedzi 6,995 wizyt
pytanie zadane 25 lipca 2016 w C i C++ przez MatrixBMW Początkujący (360 p.)
0 głosów
1 odpowiedź 838 wizyt
0 głosów
1 odpowiedź 1,104 wizyt
pytanie zadane 12 kwietnia 2019 w C i C++ przez wojtbart Nowicjusz (120 p.)

93,742 zapytań

142,678 odpowiedzi

323,297 komentarzy

63,328 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...