Forum: Förklara hur denna funktionen går ihop!

Forum huvudsida -> Programmering -> Förklara hur denna funktionen går ihop!

Sidor: 1

Till botten

Dark_Master 08:11 - 21:a April 2006 | Post #1
Medlem
Inlägg: 16


Skicka PM
Jag fattar inget! Jag håller på att tappa greppet totalt! Smiley

Kolla här:

  1.  
  2.  
  3. #include <iostream>
  4.  
  5. using namespace std;
  6.  
  7. void minFunktion(int tal);
  8.  
  9. void minFunktion(int tal)
  10. {
  11. cout << "Nu är vi i funktionen!";
  12. cout << tal;
  13. return;
  14. }
  15.  
  16. int main ()
  17. {
  18. int tal=21;
  19.  
  20. minFunktion(tal);
  21. cout << "Nu är vi tillbaka i main igen!";
  22. cin.get();
  23. return 0;
  24. }


void minFunktion(int tal); . Där den koden står först uppefrån. Så står detta efter: void minFunktion(int tal) Och det är då jag tappar det.. det står klar och tydligt i guiden att när det står void minFunktion(int tal) då SKAPAS funktionen. Men det står iaf efter: void minFunktion(int tal); Vadå! Skapar man funktionen EFTER att man anropar den! Eller??

Om någon slulle vilja vara så snälla att reda ut detta för mig! Fattar inte det.. Smiley

P.S Annars är det en SKIT bra guide! Tack!

-------------------------
Hej alla glada människor!



Nissebosselasse 08:25 - 21:a April 2006 | Post #2
Medlem
Inlägg: 490


Skicka PM
Här har du lite information om fenomenet, som inte är så ologiskt som det verkar:
http://opencbp.sourceforge.net/en_US.ISO8859-1/books/opencbook/func.prototypes.html

Titta på den här versionen av din kod:
  1.  
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. int main ()
  7. {
  8. int tal=21;
  9.  
  10. minFunktion(tal);
  11. cout << "Nu är vi tillbaka i main igen!";
  12. cin.get();
  13. return 0;
  14. }
  15.  
  16. void minFunktion(int tal)
  17. {
  18. cout << "Nu är vi i funktionen!";
  19. cout << tal;
  20. return;
  21. }

Hur vet kompilatorn - när han kommer ner till anropet av minfunktion i main - vad just ordet "minfunktion" innebär? Det finns ju ingen tidigare definition av det? Du lär få ett kompileringsfel där.

Du talar alltså om för kompilatorn att just det ordet är en funktion, med så här många parametrar (vilket iofs kan utelämnas), med den här returtypen (void i det här fallet).

-------------------------
http://pushingcows.se
Gula Nallen



Dark_Master 09:54 - 21:a April 2006 | Post #3
Medlem
Inlägg: 16


Skicka PM
Okej.. tror det blev lite ljusare! Tack.. : = )

-------------------------
Hej alla glada människor!



Independence 13:28 - 21:a April 2006 | Post #4
Administratör
Inlägg: 1800


Skicka PM
På rad 7 förklalar du för kompilatorn att du vill ha en funktion som heter minFunktion. På 9+ förklarar du vad denna funktion sak göra. På rad 20 anropar du funktionen.
Kanske går att jämföra med att att du skriver kod såhär typ:
  1.  
  2. int tal;
  3. tal = 5;
  4. cout << tal;

Först säger du att du vill ha en variabel, sedan säger du vad den innehåller, och sedan anropar du den.

Hoppas det vart ännu lite tydligare nu Smiley

-------------------------

Vi är riddarna som säger fiskbulle!





Celeron 16:22 - 21:a April 2006 | Post #5
Medlem
Inlägg: 418


Skicka PM
Varför skriver du return; i slutet av minFunktion? Den är ju void så du behöver inte returnera någonting (alltså inte skriva return).

-------------------------
Det viktigaste är att ha roligt! Har ny hemsida: http://www.freewebs.com/cpperik/



Burglar 00:31 - 27:e April 2006 | Post #6
Medlem
Inlägg: 59


Skicka PM
Sedan skall ju tilläggas att om du har din mainfunktion sist så behöver du inte ha någon funktionsprototyp
( void minFunktion(int tal); )
för kompilatorn kommer att förstå att dina funktionsanrop är giltiga då kompilatorn redan har gått igenom funktionerna på sin väg till main(). Dock tillhör jag skaran som tycker om att ha main överst och därför så lägger jag funktionsprototyperna överst. Smiley

-------------------------
,,hh signatur! jag är skeptisk!



Sidor: 1

Forum huvudsida -> Programmering -> Förklara hur denna funktionen går ihop!
Atom feed

Du får inte posta i den här tråden | Till toppen