【发布时间】:2011-06-10 02:50:34
【问题描述】:
这编译得很好,虽然我还不想尝试运行它。不过……
//class base;
//class derived;
//class derived : public base;
class base {};
class derived : public base {};
class other
{
public:
void func() {base1 = derived1;}
base* base1;
derived* derived1;
};
void main()
{
}
... 将其他类移到基类和派生类的定义之上,我必须在 myne 的程序中做类似的事情会导致编译错误。
显而易见的解决方案是在代码顶部前向声明基和派生显示注释掉,但这会导致无法在基*和派生*之间转换错误。尝试转发包含继承信息的声明也不起作用。
【问题讨论】:
标签: c++ forward-declaration base derived