class A { /* ... */ };
A foo () { /* ... */ };
int main()
{
A a;
a = foo();
A a2 = foo();
return 0;
}
kompilator nie zwraca błędu
Nie do końca rozumiem ten kod a właściwie w ogóle.
A foo () { /* ... */ }; <- czy to jest definicja funkcji? jeśli tak dlaczego kompilator nie zwraca błędu że funkcja powinna zwracać obiekt typu A?
[ A a; a = foo(); ] to jest generalnie to samo co [ A a2 = foo(); ] tzn. przypisanie wartości funkcji zwracanej przez foo() do obiektów a i a2, tylko że ta funkcja nic nie zwraca?