1 问题引入
在使用函数模板时有如下定义
template<typename xClass, typename xReturn>
void StartThread(xClass* pThis, xReturn (xClass::* pfn)())
{
return;
}
在基于对话框的程序中使用该函数模板
BOOL CMyDlg::OnInitDialog()
{
StartThread<CMyDlg, DWORD>(this, ThreadAccept);
}
而ThreadAccept()函数是CMyDlg的成员函数,定义如下
DWORD CMyDlg::ThreadAccept()
{
return 0;
}
此时,编译报错信息为
“error C3867: CMyDlg::ThreadAccept