From Jason Turner

[dcl.name]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpt23_x58t/{from.md → to.md} +14 -5
tmp/tmpt23_x58t/{from.md → to.md} RENAMED
@@ -9,10 +9,15 @@ entity.
9
  ``` bnf
10
  type-id:
11
  type-specifier-seq abstract-declaratorₒₚₜ
12
  ```
13
 
 
 
 
 
 
14
  ``` bnf
15
  abstract-declarator:
16
  ptr-abstract-declarator
17
  noptr-abstract-declaratorₒₚₜ parameters-and-qualifiers trailing-return-type
18
  abstract-pack-declarator
@@ -47,22 +52,26 @@ noptr-abstract-pack-declarator:
47
  It is possible to identify uniquely the location in the
48
  *abstract-declarator* where the identifier would appear if the
49
  construction were a declarator in a declaration. The named type is then
50
  the same as the type of the hypothetical identifier.
51
 
 
 
52
  ``` cpp
53
  int // int i
54
  int * // int *pi
55
  int *[3] // int *p[3]
56
  int (*)[3] // int (*p3i)[3]
57
  int *() // int *f()
58
  int (*)(double) // int (*pf)(double)
59
  ```
60
 
61
- name respectively the types “`int`,” “pointer to `int`,” “array of 3
62
- pointers to `int`,” “pointer to array of 3 `int`,” “function of (no
63
- parameters) returning pointer to `int`,” and “pointer to a function of
64
- (`double`) returning `int`.
65
 
66
- A type can also be named (often more easily) by using a *typedef* (
 
 
67
  [[dcl.typedef]]).
68
 
 
9
  ``` bnf
10
  type-id:
11
  type-specifier-seq abstract-declaratorₒₚₜ
12
  ```
13
 
14
+ ``` bnf
15
+ defining-type-id:
16
+ defining-type-specifier-seq abstract-declaratorₒₚₜ
17
+ ```
18
+
19
  ``` bnf
20
  abstract-declarator:
21
  ptr-abstract-declarator
22
  noptr-abstract-declaratorₒₚₜ parameters-and-qualifiers trailing-return-type
23
  abstract-pack-declarator
 
52
  It is possible to identify uniquely the location in the
53
  *abstract-declarator* where the identifier would appear if the
54
  construction were a declarator in a declaration. The named type is then
55
  the same as the type of the hypothetical identifier.
56
 
57
+ [*Example 1*:
58
+
59
  ``` cpp
60
  int // int i
61
  int * // int *pi
62
  int *[3] // int *p[3]
63
  int (*)[3] // int (*p3i)[3]
64
  int *() // int *f()
65
  int (*)(double) // int (*pf)(double)
66
  ```
67
 
68
+ name respectively the types “`int`”, “pointer to `int`”, “array of 3
69
+ pointers to `int`”, “pointer to array of 3 `int`”, “function of (no
70
+ parameters) returning pointer to `int`”, and “pointer to a function of
71
+ (`double`) returning `int`”.
72
 
73
+ *end example*]
74
+
75
+ A type can also be named (often more easily) by using a `typedef` (
76
  [[dcl.typedef]]).
77