Tại sao dòng đầu tiên trong biên dịch chính nhưng thứ hai thì không? Cả hai đều là tạm thời tôi nghĩ nhưng ai đối xử như l-giá trị và người kia không ..là giá trị l tạm thời hay không?
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);
}
có! Tôi nghĩ rằng đây là đối số tôi đã bỏ lỡ ... toán tử = có thể được gọi trên rvalues nhưng "chuyển nhượng" không thể được thực hiện trên rvalues – mhk