【发布时间】:2022-12-31 13:21:20
【问题描述】:
为什么会出现此错误 - “void D::func(const D &)”:无法将参数 1 从“const C”转换为“const D &”
如何更正此问题,我想从 Derived func 调用 Base 函数但请注意 func 是友元函数?
class C
{
public:
C()
{
cout << "in C ctor" << endl;
}
friend void func(const C& abc1)
{
cout << "in C's func" << endl;
}
};
class D : public C
{
public:
D()
{
cout << "in D ctor" << endl;
}
void func(const D& abc)
{
func(static_cast<const C&>(abc));
cout << "in D's func" << endl;
}
};
int main()
{
D d;
d.func(d);
}
为什么这类似虽然工作 -
【问题讨论】:
标签: c++ visual-c++