VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 591|回复: 3

error C2664:cannot convert parameter 2 from 'class CDC *' to 'class CDC'???

[复制链接]

3

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-2-9 13:00:01 | 显示全部楼层 |阅读模式
void CCalendarView::OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint)
{
        CDC        *pDC        = GetDC();
        CDrawUI*        pDraw        =        new CDrawUI;
        RECT        rect;
        rect.left        =        START_X;
        rect.top        =        START_Y;
        rect.bottom        =        START_X + 100;
        rect.right        =        START_Y        + 50;
        pDraw->DrawRect(rect,pDC); //错误定位到这里
}
error C2664: 'DrawRect' : cannot convert parameter 2 from 'class CDC *' to 'class CDC'

void        CDrawUI::DrawRect(RECT rect,CDC *pDC)
{
        CBrush        pTitleBrush(TITLE_BKCLR);
        CBrush        *pOldBrush = pDC->SelectObject(&pTitleBrush);
        pDC->Rectangle(&rect);

        pDC->SelectObject(pOldBrush);
        ReleaseDC(pDC);
}
回复

使用道具 举报

0

主题

55

帖子

32.00

积分

新手上路

Rank: 1

积分
32.00
发表于 2020-4-3 22:00:02 | 显示全部楼层
CDC        *pDC        = GetDC();
这句有问题。
回复

使用道具 举报

0

主题

70

帖子

42.00

积分

新手上路

Rank: 1

积分
42.00
发表于 2020-4-4 10:30:02 | 显示全部楼层
CDrawUI 的 DrawRect 函数 定义是什么?
回复

使用道具 举报

0

主题

70

帖子

42.00

积分

新手上路

Rank: 1

积分
42.00
发表于 2020-4-4 12:45:01 | 显示全部楼层
应该是DrawRect函数的声明和你给的pDC类型不匹配,一个是CDC*,一个是CDC
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表