3 svar
93 visningar
Jayy behöver inte mer hjälp
Jayy 117
Postad: 13 feb 2023 14:22

Funktioner

#include <iostream>
#include <clocale>

using namespace std;
double omkretsCirkel(double radie);

int main()
{
    setlocale(LC_ALL, "swedish");
    double radie;
    cout << "Mata in en radie till en cirkel: ";
    cin >> radie;
    cout << "Radien är: " << omkretsCirkel(radie);

    system("PAUSE");
    return EXIT_SUCCESS;
}


double omkretsCirkel(double radiei)
{
    double omkrets = 2 * 3.1412 * radiei;
    return omkrets;
}

Kan man använda olika namn på parametrar på deklarationen och definitionen, i det här fallet radie och radiei, men det är fortfarande samma funktion?

anders_k 238
Postad: 13 feb 2023 19:12 Redigerad: 13 feb 2023 19:15

ja, det är parametertypen som ger funktionen sin unika signatur sedan vad för parameternamn du anger spelar ingen roll.

det är lätt att kolla om du deklarerar en funktion till med samma funktionsnamn men annat parameter namn, då får du ett länkfel.

anders_k 238
Postad: 14 feb 2023 22:15
anders_k skrev:

ja, det är parametertypen som ger funktionen sin unika signatur sedan vad för parameternamn du anger spelar ingen roll.

det är lätt att kolla om du deklarerar en funktion till med samma funktionsnamn men annat parameter namn, då får du ett länkfel.

i C++ får man kompileringsfel redan

/home/insights/insights.cpp:5:6: error: redefinition of 'foo'
void foo(int m) { }
     ^
/home/insights/insights.cpp:4:6: note: previous definition is here
void foo(int n) { }
     ^
Laguna Online 30721
Postad: 14 feb 2023 22:30

Det går väl inte bättre om parametern heter samma?

Svara
Close