`using Parent::Grandparent` in C++ class

Viewed 43

I am wondering what does the syntax using Parent::Grandparent signify in a C++ class as in the example:

struct A {};
struct B : A {};
struct C : B { 
    using B::A;  //???
};

This code is accepted by both GCC and Clang with the most pedantic settings, demo: https://gcc.godbolt.org/z/53sv1G9Yr

If one wrote using B::B then it would mean inherit user constructors from B. And both using A and using B are invalid here. So what does using B::A actually mean?

0 Answers
Related