classB里面classA继承classA
class B inside class A inherits class A
我尝试了以下但未能编译。
class A {
//...members
class B : public A { //<---failed here
using A::A;
}
}
这可能吗(特别是在 c++17 中)?这只是语法错误吗?
如果不可能,为什么这不起作用?
这可以做到,但是 B
的定义需要移到 A
之外。在右大括号之前,A
是一个不完整的类型,而基础 class 必须是完整的。
这可行:
class A {
class B;
};
class A::B : public A {
using A::A;
};
我尝试了以下但未能编译。
class A {
//...members
class B : public A { //<---failed here
using A::A;
}
}
这可能吗(特别是在 c++17 中)?这只是语法错误吗? 如果不可能,为什么这不起作用?
这可以做到,但是 B
的定义需要移到 A
之外。在右大括号之前,A
是一个不完整的类型,而基础 class 必须是完整的。
这可行:
class A {
class B;
};
class A::B : public A {
using A::A;
};