Annex C (informative) Compatibility [diff]

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

C.4.4 Clause [dcl.decl]: declarators [diff.cpp14.decl]

[dcl.fct]
Изменение: сделайте спецификации исключений частью системы типов.
Обоснование: повышение безопасности типов.
Влияние на исходную функцию: действительный код C ++ 2014 может не скомпилировать или изменить значение в этом международном стандарте:

void g1() noexcept;
void g2();
template<class T> int f(T *, T *);
int x = f(g1, g2);    // ill-formed; previously well-formed

[dcl.init.aggr]
Изменение: определение агрегата расширено для применения к определяемым пользователем типам с базовыми классами.
Обоснование: для повышения удобства инициализации агрегата.
Влияние на исходную функцию: действительный код C ++ 2014 может не компилироваться или давать другие результаты в соответствии с настоящим международным стандартом; инициализация из пустого списка инициализаторов будет выполнять агрегатную инициализацию вместо вызова конструктора по умолчанию для затронутых типов:

struct derived;
struct base {
  friend struct derived;
private:
  base();
};
struct derived : base {};

derived d1{};       // Error. The code was well-formed before.
derived d2;         // still OK