Annex C (informative) Compatibility [diff]

C.4 C++ and ISO C++ 2014 [diff.cpp14]

C.4.5 Clause [special]: special member functions [diff.cpp14.special]

[class.inhctor.init]
Изменение: при наследовании конструктора конструктор больше не внедряется в производный класс.
Обоснование: лучшее взаимодействие с другими языковыми функциями.
Влияние на исходную функцию: действительный код C ++ 2014, в котором используются наследующие конструкторы, может быть недействительным или иметь другую семантику. A, using-declaration который называет конструктор, теперь делает соответствующие конструкторы базового класса видимыми для инициализации производного класса, а не объявляет дополнительные конструкторы производного класса.

struct A {
  template<typename T> A(T, typename T::type = 0);
  A(int);
};
struct B : A {
  using A::A;
  B(int);
};
B b(42L); // now calls B(int), used to call B<long>(long),
          // which called A(int) due to substitution failure
          // in A<long>(long).