C++ Rückgabewert ohne return-Anweisung

Wenn ich lief dieses Programm:

#include <iostream>

int sqr(int&);

int main()
{
    int a=5;
    std::cout<<"Square of (5) is: "<< sqr(a) <<std::endl;
    std::cout<<"After pass, (a) is: "<< a <<std::endl;
    return 0;
}

int sqr(int &x)
{
    x= x*x;
}

Bekam ich die folgende Ausgabe:

Square of (5) is: 2280716
After pass, (a) is: 25

Was ist 2280716? Und, wie bekomme ich einen Rückgabewert zu sqr(a) zwar gibt es keine return - Anweisung in der Funktion int sqr(int &x)?

Dank.

WTF??? Warum würden Sie wollen, zu schreiben, wie code? Klar sqr ist eine mathematische Funktion, und es macht keinen Sinn, den parameter als out.
Kogan. Einfach nur testen, wie pass by reference works

InformationsquelleAutor Simplicity | 2011-01-27

Schreibe einen Kommentar