void MyThread(CClientDC dc)
{
dc.TextOut(100,100,"asdfasd");
}
void CTestComDlg::OnOK()
{
CClientDC dc(this);
MyThread(dc);
}
{
dc.TextOut(100,100,"asdfasd");
}
void CTestComDlg::OnOK()
{
CClientDC dc(this);
MyThread(dc);
}
void MyThread(CDC* dc)
{
dc->TextOut(100,100,"asdfasd");
}
void CTestComDlg::OnOK()
{
CClientDC dc(this);
MyThread(&dc);
}
void MyThread(CClientDC& dc)
{
dc.TextOut(100,100,"asdfasd");
}
这是因为,当不使用引用时,调用MyThread(dc);时,系统会将参数dc复制
一份,来执行函数MyThread,所以这时会要求调用构造函数CClientDC(const
CClientDC& dc);而class CClientDC没有这样的构造函数,所以编译失败。