Возвращаемое значение C ++ без оператора возврата

Когда я запустил эту программу:

#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;
}

, я получил следующий результат:

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

Что такое 2280716 ? И как я могу получить возвращаемое значение to sqr (a) , в то время как нет оператора return в функции int sqr (int & x) ?

Спасибо.

13
задан Fred Foo 27 January 2011 в 11:42
поделиться