注册 登录
编程论坛 VC++/MFC

dc.Arc(&rect,rect.TopLeft,rect.BottomRight) 错在哪了?

andyandy 发布于 2011-05-22 16:02, 931 次点击
这段程序的最后一句报错——
    CRect rect;
    GetDlgItem(IDC_LIST2)->GetWindowRect(&rect);
    ScreenToClient(&rect);
    CClientDC dc(this);
    dc.Arc(&rect,rect.TopLeft,rect.BottomRight);

error C2664: 'int __thiscall CDC::Arc const struct tagRECT *,struct tagPOINT,struct tagPOINT)' :
cannot convert parameter 2 from 'const class CPoint &void) const' to 'struct tagPOINT'
        No constructor could take the source type, or constructor overload resolution was ambiguous


[ 本帖最后由 andyandy 于 2011-5-22 16:08 编辑 ]
5 回复
#2
红色警戒2011-05-22 16:06
参数类型不一致
#3
andyandy2011-05-22 16:23
回复 2楼 红色警戒
大侠,说详细点好吗?
能给个方法吗?
#4
红色警戒2011-05-22 17:32
dc.Arc(&rect,rect.TopLeft,rect.BottomRight);
这儿参数不对,参数类型可参考MSDN
#5
andyandy2011-05-22 21:32
已解决。改成——
dc.Arc(&rect,rect.TopLeft(),rect.BottomRight());
即可。
只是为什么要加这个空括号?
#6
andyandy2011-05-22 21:45
明白了。
TopLeft和BottomRight均为函数,因此必须。。。。。。
1