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

Wywoływanie funkcji, nie widzi zmiennej

Object Storage Arubacloud
0 głosów
420 wizyt
pytanie zadane 12 sierpnia 2018 w C i C++ przez Slegnawierzchowcu Użytkownik (860 p.)

Nie mogę wywołać funkcji- jest napisane, że ma problem ze zmienną max, tutaj jak to wygląda:

void klikanie(int max);    //prototyp;

w main:
klikanie ();           //wywołuję funkcję <<- tutaj wyskakuje błąd ze zmienną max

void klikanie (int max);   //funkcja
for (int i=0; i<max;i++);

Dopiero zadziałał program, gdy w nawiasach usunąłem int max i dodałem zmienną max w funkcji:

void klikanie();    //prototyp;

w main:
{
klikanie ();           
}

void klikanie ();   //funkcja
int max;
for (int i=0; i<max;i++);


Dlaczego tak się dzieje? na moje kod powinien działać, gdzie robię błąd? źle wywołuję sposobem pierwszym?

komentarz 12 sierpnia 2018 przez criss Mędrzec (172,590 p.)
Wrzuć cały kod, albo przynajmniej jakąś sensowną niepociętą część, bo nie wiadomo o co chodzi w tym co wrzuciłeś

1 odpowiedź

0 głosów
odpowiedź 12 sierpnia 2018 przez profesorek96 Szeryf (91,420 p.)
wybrane 12 sierpnia 2018 przez Slegnawierzchowcu
 
Najlepsza
Jeśli dobrze zroumiałem masz prototyp z jednym argumentem, definicje też masz z jednym argumentem to czemu wołasz funkcje bez żadnego argumentu ?
komentarz 12 sierpnia 2018 przez Slegnawierzchowcu Użytkownik (860 p.)
Czyli w argumentach nie mogę sobie dodawać zmiennych po prostu do funkcji? Muszą te zmienne być zainicjowane w środku funkcji?
komentarz 12 sierpnia 2018 przez profesorek96 Szeryf (91,420 p.)

To jest tak możesz i nie musisz, jeśli chcesz przekazać jakąś wartośc i operować na niej to piszzesz w nawiasach zmienne i później jak by możesz kozystać z tych zmiennych w programie prykład:

void dodawanie(int a,int b)
{
cout<<a+b;
}

Oczywiście możesz zrobic to tak:

void dodawanie()
{
int a,b;
cin>>a>>b;
cout<<a+b;
}

 

komentarz 12 sierpnia 2018 przez Slegnawierzchowcu Użytkownik (860 p.)
Dobra już chyba rozumiem. W pierwszym sposobie muszę w mainie dać inne zmienne jakieś np. int jedna, druga; a dopiero potem wywoływac funkcję dodawanie(jedna, druga);  (bo a i b widzi tylko funkcja)

A w drugim sposobie wystarczy dać dodawanie(); //bo najpierw wczytuję funkcję a później w funkcji jest czytanie liczb. A nie najpierw czytanie w mainie a później odpalam funkcję.

Chyba dobrze zrozumiałem.. :D Ogólnie jest jakaś zasada, gdzie wybierają programiści 1 sposób albo drugi? czy jak kto woli?
komentarz 13 sierpnia 2018 przez profesorek96 Szeryf (91,420 p.)
No chyba dobrze to rozumiesz. Co do stosowanie to zalezy co chcesz zrobić. Co do nazw zmiennych to w mainie możesz mieć int a i w funkcji możesz mieć int a i to nie przeszkadza bo to jest zmienna wewnątrz funkcji i one mogą się powtarzać. Radze ci zacząć czytać książkę: https://helion.pl/ksiazki/opus-magnum-c-11-programowanie-w-jezyku-c-komplet-jerzy-grebosz,ocpp11.htm
komentarz 13 sierpnia 2018 przez Slegnawierzchowcu Użytkownik (860 p.)
Ok dzieki!  Aktualnie czytam Alex Allain Przewodnik dla poczatkujacych

Podobne pytania

0 głosów
1 odpowiedź 162 wizyt
pytanie zadane 5 października 2020 w Python przez Dzango111 Użytkownik (660 p.)
0 głosów
1 odpowiedź 510 wizyt
pytanie zadane 27 lipca 2017 w SQL, bazy danych przez Intrance Nowicjusz (140 p.)
0 głosów
1 odpowiedź 466 wizyt
pytanie zadane 17 maja 2017 w JavaScript przez Filip31411 Dyskutant (8,820 p.)

92,572 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,959 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!

...