为什么 main 中的第一行可以编译,而第二行没有?我认为两者都是临时的,但一个被视为 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);
}