Pozdrav,
imam problem kod ovog programa. U knjizi Demistificirani c++ (poglavlje: privremeni objekti) je zadan ovaj primjer:
class Vektor{
friend void ZbrojiVektore(Vektor &a, Vektor &b, Vektor &rez);
private:
double ax, ay;
public:
Vektor(double x = 0, double y = 0):ax(x), ay(y){};
double dajX(){return ax;};
double dayY(){return ay;};
void Postavi_xy (double x, double y){ax = x; ay = y;};
};
void ZbrojiVektore(Vektor &a, Vektor &b, Vektor &rez){
rez.ax = a.ax + b.ax;
rez.ay = a.ay + b.ay;
}
int main(){
Vektor c;
ZbrojiVektore(Vektor(3,4), Vektor(1,2), c);
U funkciji ZbrojiVektore imamo 2 privremena objekta. ax iz prvog objekta se zbraja sa ax iz drugog objekta te se rezultat sprema u objekt c. Isto tako i za ay.
Primjer je identično prepisan ali javlja grešku kod poziva funkcije: invalid initialization of non-const reference of type 'Vektor&' from an rvalue of type 'Vektor'