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?