tmp/tmpe_mnwbwx/{from.md → to.md}
RENAMED
|
@@ -1,35 +0,0 @@
|
|
| 1 |
-
### Clause [[dcl.decl]]: declarators <a id="diff.cpp14.decl">[[diff.cpp14.decl]]</a>
|
| 2 |
-
|
| 3 |
-
[[dcl.fct]] **Change:** Make exception specifications be part of the
|
| 4 |
-
type system. **Rationale:** Improve type-safety. **Effect on original
|
| 5 |
-
feature:** Valid C++14code may fail to compile or change meaning in this
|
| 6 |
-
International Standard:
|
| 7 |
-
|
| 8 |
-
``` cpp
|
| 9 |
-
void g1() noexcept;
|
| 10 |
-
void g2();
|
| 11 |
-
template<class T> int f(T *, T *);
|
| 12 |
-
int x = f(g1, g2); // ill-formed; previously well-formed
|
| 13 |
-
```
|
| 14 |
-
|
| 15 |
-
[[dcl.init.aggr]] **Change:** Definition of an aggregate is extended to
|
| 16 |
-
apply to user-defined types with base classes. **Rationale:** To
|
| 17 |
-
increase convenience of aggregate initialization. **Effect on original
|
| 18 |
-
feature:** Valid C++14code may fail to compile or produce different
|
| 19 |
-
results in this International Standard; initialization from an empty
|
| 20 |
-
initializer list will perform aggregate initialization instead of
|
| 21 |
-
invoking a default constructor for the affected types:
|
| 22 |
-
|
| 23 |
-
``` cpp
|
| 24 |
-
struct derived;
|
| 25 |
-
struct base {
|
| 26 |
-
friend struct derived;
|
| 27 |
-
private:
|
| 28 |
-
base();
|
| 29 |
-
};
|
| 30 |
-
struct derived : base {};
|
| 31 |
-
|
| 32 |
-
derived d1{}; // Error. The code was well-formed before.
|
| 33 |
-
derived d2; // still OK
|
| 34 |
-
```
|
| 35 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|