各位:
程序中的以下两段代码:
1)
...
CRect rect;
GetClientRect(rect);
....
2)
...
CRect rect;
GetClientRect(&rect);
....
为什么这两段代码的效果一样??
而csdn中的定义是:
void GetClientRect( LPRECT lpRect ) const;
大家来谈谈!!

解决方案 »

  1.   

    因为CRect重载了到LPRECT的操作:
    CRect::operator LPRECT( );
    GetClientRect(rect);隐含的调用了该操作。
      

  2.   

    CWnd::GetClientRect  
    void GetClientRect( LPRECT lpRect ) const;
    Parameters
    lpRect
    Points to a RECT structure or a CRect object to receive the client coordinates. 
    CRect类是从RECT结构体继承来的,可以用RECT的参数,应该就可以用CRect的对象了吧?