Dlaczego pierwszy wiersz w głównych kompilacjach, ale drugi nie? Oba są uzupełnienia tymczasowe myślę ale traktowany jest jako l-wartość, a nie inny ..jest tymczasową wartością l, czy też nie?
class complex
{
public:
complex() : r(0),i(0) {}
complex(double r_, double i_) : r(r_), i(i_)
{
}
private:
double r;
double i;
};
int main()
{
complex(2,2) = complex(1,2);
char() = char(2);
}
tak! Myślę, że to jest argument, którego mi brakowało ... operator = może być wywołany na wartościach r, ale "przypisania" nie można wykonać na wartościach r – mhk