爲什麼第一行主編譯但第二行沒有? 兩者都是臨時工,我認爲只有一個被視爲L值和其他不..是否是一個臨時的l值?
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);
}
是的!我認爲這是我失蹤的論點... operator =可以在右值上調用,但「賦值」不能在右值 – mhk