Witam, banalny przykład, mam klasę:
class A
{
public:
A(){}
A(/*const*/ A& a){}
A(int i){}
};
Gdy usunę komentarz /*const */ z listy parametrów konstruktora kopiującego mogę w programie napisać w następujący sposób:
A a_obiekt = 10;
Gdy komentarz zostanie jak w oryginale, czyli gdy parametr konstruktora kopiującego nie będzie stały wówczas:
A a_obiekt = 10; //BŁĄD
Dlaczego tak jest? Co się dzieje w programie?