一个赋值操作弄得我摸不着头脑:我在CMYDoc中定义一私有变量m_rectDC,然后定义一共有成员函数CRect GetDCRect(){return m_rectDC};
如果我采用如下赋值操作会报如下错误:left operator of "=" should be l-value
CMYDoc *pDoc;
pDoc->GetDCRect().left = 16;
我用SetRect()也会报错
pDoc->GetDCRect().SetRect(1,2,1,2);如果我分开写就不报错:
CRect rectTemp = pDoc->GetDCRect();
rectTemp.left = 16;请多多指点。
如果我采用如下赋值操作会报如下错误:left operator of "=" should be l-value
CMYDoc *pDoc;
pDoc->GetDCRect().left = 16;
我用SetRect()也会报错
pDoc->GetDCRect().SetRect(1,2,1,2);如果我分开写就不报错:
CRect rectTemp = pDoc->GetDCRect();
rectTemp.left = 16;请多多指点。
CRect * GetDCRect(){return &m_rectDC};pDoc->GetDCRect()->left = 16;你原来的定义返回的CRect是常量,不能符值的,就算你分开写,操作之后m_rectDC地值并没有变