类同名的构造函数继承

Constructor inheritance with classes of the same name

我想继承基础class的构造函数,但是不编译。 如何在不更改 class 名称的情况下解决此问题?

class MyClass
{
public:
    class A
    {

    };
};

class MyClass2 : MyClass
{
public:
    class A : MyClass::A
    {
        //error: expected nested-name-specifier before ‘namespace’
        using (MyClass::A)::(MyClass::A);
    };
};
using MyClass::A::A;

构造函数由一个限定名称引用到应该从中导入它的基础 class,即 MyClass::A,然后再次使用 class 名称引用构造函数,但只有 class 名称,而不是限定名称,即 A.

使用 MyClass::A::A; 是否符合您的要求?

如果要从classMyClass::A使用method(),则必须写using MyClass::A::method;。在您的例子中,method() 是构造函数,名为 A().