Formelle og Aktuelle parametre

Tags:    c++

Jeg er meget i tvivl mht definitionen af de formelle og aktuelle parametre. Jeg ved at formelle parametre er de parametre som indgår i definitionsfunktionen, altså den med en body {}, og ikke prototypen.
Men hvorfor kaldes de formelle? og hvad er forskellen på dem og de aktuelle??

Og hvordan kalder jeg funktionen i dette program?

Fold kodeboks ind/udKode 


på forhånd mange tak!





Din kode er sådan set rigtig nok, du oversætter bare fra int til double...

Der er mange mulige måder at løse det problem på. Templates, type conversion osv. men det nemmeste ville nok være at skifte dine "have" variabler ud til double, så man også kan skrive halve meter!
Fold kodeboks ind/udKode 




Nååå ja, det var faktisk en fejl. Alt skal jo være "double".

Jeg efterlyser dog 2 ting:

1.) Hvad er forskellen på de aktuelle og formelle parametre.

2.) Hvordan kalder man en funktion?
er det ved at skrive funktionens navn efterfulgt af parantes? eller hvad menes der med funktionskald??



Ja, man kalder en funktion ved denne syntax:
funktionsnavn(arg1, arg2...);



Tak for svar!

Men hvad er forskellen på de aktuelle og formelle parametre?
Any thoughts?



Lad os se på et eksempel:
Fold kodeboks ind/udCSharp kode 


Her kalder vi funktionen func med parameteren 3, der udskrives.

3 tallet er "aktuelle parameter" og a er "formelle parameter".

Det der sker et at programmet laver 3 tallet om fra int til double (3 er default en int), denne værdi tages der så et kopi af, som bliver puttet i variablen a.

Og nu har du så fået endnu en bid fuldstændig nytteløs viden...
Jeg har levet af at programmere i C og C++ i mere end 15 år, med var nødt til at søge på nettet for at kunne svare, da begreberne ikke benyttes ude i virkeligheden.



1000 mange tak for svar! Det er overhoved ikke nytteløs :-)
Jeg går ud fra at det er det samme for C++ eftersom der står CSharp.

Ja, jeg forstår ikke hvorfor de kalder dem for aktuelle og formelle, det kunne lige så godt have været globale og lokale som i f.eks. java.
Den lokale ville være "3" og global "a".....





I C og C++ bruges ordene Global og Lokal om "scope". Global er uden for ethvert scope og Lokal er inden for en funktion.
Så at genbruge begreberne til parametre ville vist forvirre unødigt.

Hvis du en dag finde en grund til at vide hvad begreberne formelle og aktuelle parametre dækker over vil jeg gerne høre den.



t