我创建了一个窗体CtestDlg写了一个函数
void aaa(CDialog bbb)
{
}在 CtestDlg中调用aaa(*this);出现编译错误:error C2440: “类型转换” : 无法从“CtestDlg”转换为“CDialog”CtestDlg不是继承CDialog的吗?为什么不能转换?
void aaa(CDialog bbb)
{
}在 CtestDlg中调用aaa(*this);出现编译错误:error C2440: “类型转换” : 无法从“CtestDlg”转换为“CDialog”CtestDlg不是继承CDialog的吗?为什么不能转换?
void aaa(CDialog* bbb)
{
}
因为(CDialog bbb)是通过拷贝构造函数生成对象了。
调用时aaa((CDialog*)*this); 更好一些
CDialog无法通过派生类来创建对象的,要把参数改成指针或引用