Is inheriting constructors part of the standard?

c++, c++11, constructor, inheritance

Solution

Yes, it's standard. Yes, it was added in C++11:

C++11 § 12.9 Inheriting Constructors [class.inhctor]:

A using-declaration (7.3.3) that names a constructor implicitly declares a set of inheriting constructors. The candidate set of inherited constructors from the class `X` named in the using-declaration consists of actual constructors and notional constructors that result from the transformation of defaulted parameters as follows: ...

Problem

I just learned today that it's possible to inherit a constructor with a `using` statement: https://stackoverflow.com/a/20062289/5987 The question is if this is specified by the standard or if it's an extension by certain compilers. If it is part of the standard, was it introduced in C++11?

Original source

Related problems