This document contains a summary listing of all the C++ Core Language Issues in numerical order. It is part of a group of related documents that together describe the issues that have been raised regarding the C++ Standard. The other documents in the group are:
For more information, including a description of the meaning of the issue status codes and instructions on reporting new issues, please see the Active Issues List.
Issue | Section | Status | Title |
1 | 8.3.6 | review | What if two using-declarations refer to the same function but the declarations introduce different default-arguments? |
2 | 14.6.4 | drafting | How can dependent names be used in member declarations that appear outside of the class template definition? |
3 | 14.7.3 | NAD | The template compilation model rules render some explicit specialization declarations not visible during instantiation |
4 | 7.5 | drafting | Does extern "C" affect the linkage of function names with internal linkage? |
5 | 8.5 | drafting | CV-qualifiers and type conversions |
6 | 12.8 | extension | Should the optimization that allows a class object to alias another object also allow the case of a parameter in an inline function to alias its argument? |
7 | 11.2 | NAD | Can a class with a private virtual base class be derived from? |
8 | 11 | open | Access to template arguments used in a function return type and in the nested name specifier |
9 | 11.2 | review | Clarification of access to base class members |
10 | 11.8 | open | Can a nested class access its own class name as a qualified name if it is a private member of the enclosing class? |
11 | 7.3.3 | extension | How do the keywords typename/template interact with using-declarations? |
12 | 3.4.2 | dup | Default arguments on different declarations for the same function and the Koenig lookup |
13 | 7.5 | extension | extern "C" for Parameters of Function Templates |
14 | 7.5 | NAD | extern "C" functions and declarations in different namespaces |
15 | 8.3.6 | extension | Default arguments for parameters of function templates |
16 | 11.2 | review | Access to members of indirect private base classes |
17 | 11.2 | NAD | Footnote 99 should discuss the naming class when describing members that can be accessed from friends |
18 | 8.3.5 | NAD | f(TYPE) where TYPE is void should be allowed |
19 | 11.5 | NAD | Clarify protected member access |
20 | 12.8 | DR | Some clarifications needed for 12.8 para 15 |
21 | 14.1 | review | Can a default argument for a template parameter appear in a friend declaration? |
22 | 14.6.4 | DR | Template parameter with a default argument that refers to itself |
23 | 14.5.5.2 | open | Some questions regarding partial ordering of function templates |
24 | 14.7.3 | DR | Errors in examples in 14.7.3 |
25 | 15.4 | DR | Exception specifications and pointers to members |
26 | 12.8 | NAD | Copy constructors and default arguments |
27 | 13.6 | NAD | Overload ambiguities for builtin ?: prototypes |
28 | 3.6.3 | drafting | 'exit', 'signal' and static object destruction |
29 | 7.5 | drafting | Linkage of locally declared functions |
30 | 14.2 | DR | Valid uses of "::template" |
31 | 5.3.4 | NAD | Looking up new/delete |
32 | 14 | DR | Clarification of explicit instantiation of non-exported templates |
33 | 3.4.2 | DR | Argument dependent lookup and overloaded functions |
34 | 14.7.1 | NAD | Argument dependent lookup and points of instantiation |
35 | 8.5 | DR | Definition of default-initialization |
36 | 7.3.3 | review | Using-declarations in multiple-declaration contexts |
37 | 15.5.3 | NAD | When is uncaught_exception() true? |
38 | 14.2 | drafting | Explicit template arguments and operator functions |
39 | 10.2 | drafting | Conflicting ambiguity rules |
40 | 8.3 | DR | Syntax of declarator-id |
41 | 3.4.1 | DR | Clarification of lookup of names after declarator-id |
42 | 3.3.6 | NAD | Redefining names from base classes |
43 | 3.9 | DR | Copying base classes (PODs) using memcpy |
44 | 14.7.3 | review | Member specializations |
45 | 11.8 | open | Access to nested classes |
46 | 14.7.2 | NAD | Explicit instantiation of member templates |
47 | 14.5.3 | NAD | Template friend issues |
48 | 9.4.2 | DR | Definitions of unused static members |
49 | 14.1 | DR | Restriction on non-type, non-value template arguments |
50 | 3.2 | NAD | Converting pointer to incomplete type to same type |
51 | 13.3.3 | DR | Overloading and user-defined conversions |
52 | 5.2.5 | drafting | Non-static members, member selection and access checking |
53 | 5.2.9 | drafting | Lvalue-to-rvalue conversion before certain static_casts |
54 | 5.2.9 | NAD | Static_cast from private base to derived class |
55 | 5.7 | NAD | Adding/subtracting pointer and enumeration value |
56 | 7.1.3 | DR | Redeclaring typedefs within classes |
57 | 9.5 | open | Empty unions |
58 | 9.6 | open | Signedness of bit fields of enum type |
59 | 13.3.1.4 | DR | Clarification of overloading and UDC to reference type |
60 | 13.3.3.1.4 | open | Reference binding and valid conversion sequences |
61 | 13.4 | NAD | Address of static member function "&p->f" |
62 | 14.3.1 | drafting | Unnamed members of classes used as type parameters |
63 | 14.7.1 | review | Class instantiation from pointer conversion to void*, null and self |
64 | 14.7.3 | review | Partial ordering to disambiguate explicit specialization |
65 | 8.3.6 | DR | Typo in default argument example |
66 | 8.3.6 | NAD | Visibility of default args vs overloads added after using-declaration |
67 | 9.4 | DR | Evaluation of left side of object-expression |
68 | 7.1.5.3 | drafting | Grammar does not allow "friend class A<int>;" |
69 | 7.1.1 | review | Storage class specifiers on template declarations |
70 | 14.8.2.4 | review | Is an array bound a nondeduced context? |
71 | 5 | NAD | Incorrect cross reference |
72 | 14 | dup | Linkage and storage class specifiers for templates |
73 | 5.10 | drafting | Pointer equality |
74 | 5.3.4 | DR | Enumeration value in direct-new-declarator |
75 | 9.2 | DR | In-class initialized members must be const |
76 | 7.1.5.1 | DR | Are const volatile variables considered "constant expressions"? |
77 | 11.4 | drafting | The definition of friend does not allow nested classes to be friends |
78 | 8.5 | review | Section 8.5 paragraph 9 should state it only applies to non-static objects |
79 | 18.4.1.3 | dup | Alignment and placement new |
80 | 9.2 | review | Class members with same name as class |
81 | C | NAD | Null pointers and C compatability |
82 | 3.2 | dup | Definition of "using" a constant expression |
83 | 13.3.3.2 | review | Overloading and deprecated conversion of string literal |
84 | 13.3.3.1 | open | Overloading and conversion loophole used by auto_ptr |
85 | 3.4.4 | review | Redeclaration of member class |
86 | 12.2 | open | Lifetime of temporaries in query expressions |
87 | 15.4 | drafting | Exception specifications on function parameters |
88 | 14.7.3 | NAD | Specialization of member constant templates |
89 | 3.8 | drafting | Object lifetime does not account for reference rebinding |
90 | 3.4.2 | DR | Should the enclosing class be an "associated class" too? |
91 | 3.4.2 | NAD | A union's associated types should include the union itself |
92 | 15.4 | open | Should exception specifications be part of the type system? |
93 | 3.8 | DR | Missing word in 3.8 basic.life paragraph 2 |
94 | 5.19 | drafting | Inconsistencies in the descriptions of constant expressions |
95 | 7.3.1.2 | NAD | Elaborated type specifiers referencing names declared in friend decls |
96 | 14.2 | open | Syntactic disambiguation using the template keyword |
97 | 5.19 | NAD | Use of bool constants in integral constant expressions |
98 | 15 | review | Branching into try block |
99 | 14.8.2.1 | NAD | Partial ordering, references and cv-qualifiers |
100 | 14.3.2 | DR | Clarify why string literals are not allowed as template arguments |
101 | 7.3.3 | DR | Redeclaration of extern "C" names via using-declarations |
102 | 13.3.1.2 | NAD | Operator lookup rules do not work well with parts of the library |
103 | 7.3.4 | DR | Is it extended-namespace-definition or extension-namespace-definition ? |
104 | 15.1 | NAD | Destroying the exception temp when no handler is found |
105 | 14 | review | Meaning of "template function" |
106 | unknown | drafting | Creating references to references during template deduction/instantiation |
107 | 7.5 | open | Linkage of operator functions |
108 | 14.6.2.1 | drafting | Are classes nested in templates dependent? |
109 | 7.3.3 | extension | Allowing ::template in using-declarations |
110 | 14 | open | Can template functions and classes be declared in the same scope? |
111 | 12.8 | open | Copy constructors and cv-qualifiers |
112 | 8.3.4 | open | Array types and cv-qualifiers |
113 | 5.2.2 | review | Visibility of called function |
114 | 14.5.2 | NAD | Virtual overriding by template member function specializations |
115 | 13.4 | open | Address of template-id |
116 | 14.5.5.1 | DR | Equivalent and functionally-equivalent function templates |
117 | 12.2 | drafting | Timing of destruction of temporaries |
118 | 5.2.2 | drafting | Calls via pointers to virtual member functions |
119 | 3.8 | open | Object lifetime and aggregate initialization |
120 | 14.6 | DR | Nonexistent non-terminal qualified-name |
121 | 14.6 | drafting | Dependent type names with non-dependent nested-name-specifiers |
122 | 5.1 | open | template-ids as unqualified-ids |
123 | 5.1 | DR | Bad cross-reference |
124 | 12.2 | drafting | Lifetime of temporaries in default initialization of class arrays |
125 | 5.1 | drafting | Ambiguity in friend declaration syntax |
126 | 15.4 | drafting | Exception specifications and const |
127 | 5.3.4 | drafting | Ambiguity in description of matching deallocation function |
128 | 5.2.9 | review | Casting between enum types |
129 | 1.9 | open | Stability of uninitialized auto variables |
130 | 5.3.4 | NAD | Sequence points and new-expressions |
131 | E | DR | Typo in Lao characters |
132 | 3.5 | review | Local types and linkage |
133 | 15.4 | dup | Exception specifications and checking |
134 | 14 | drafting | Template classes and declarator-ids |
135 | 8.3.5 | review | Class type in in-class member function definitions |
136 | 8.3.6 | open | Default arguments and friend declarations |
137 | 5.2.9 | review | static_cast of cv void* |
138 | 7.3.1.2 | open | Friend declaration name lookup |
139 | 3.4.1 | open | Error in friend lookup example |
140 | 8.3.5 | drafting | Agreement of parameter declarations |
141 | 3.4.5 | open | Non-member function templates in member access expressions |
142 | 11.2 | drafting | Injection-related errors in access example |
143 | 3.4.2 | drafting | Friends and Koenig lookup |
144 | 7.1.5.3 | open | Position of friend specifier |
145 | D.1 | drafting | Deprecation of prefix ++ |
146 | 3.9.1 | open | Floating-point zero |
147 | 5.1 | review | Naming the constructor |
148 | 9 | open | POD classes and pointers to members |
149 | 4.10 | review | Accessibility and ambiguity |
150 | 14.3.3 | NAD | Template template parameters and default arguments |
151 | 8.5 | review | Terminology of zero-initialization |
152 | 12.3.1 | review | explicit copy constructors |
153 | 13.3.3.2 | review | Misleading wording (rank of conversion) |
154 | 7.1.1 | NAD | Anonymous unions in unnamed namespaces |
155 | 8.5 | open | Brace initializer for scalar |
156 | 3.4.5 | open | Name lookup for conversion functions |
157 | 7 | open | Omitted typedef declarator |
158 | 3.10 | open | Aliasing and qualification conversions |
159 | 8.3 | review | Namespace qualification in declarators |
160 | 8.2 | open | Missing std:: qualification |
161 | 11.5 | DR | Access to protected nested type |
162 | 13.3.1.1 | open | (&C::f)() with nonstatic members |
163 | 8.5.1 | DR | Description of subaggregate initializer |
164 | 3.4.2 | review | Overlap between Koenig and normal lookup |
165 | 7.3.1.2 | NAD | Definitions of friends and block-scope externs |
166 | 7.3.1.2 | review | Friend declarations of template-ids |
167 | D.2 | review | Deprecating static functions |
168 | 7.5 | NAD | C linkage for static member functions |
169 | 7.3.3 | NAD | template-ids in using-declarations |
170 | 4.11 | open | Pointer-to-member conversions |
171 | 7.3 | review | Global namespace scope |
172 | 7.2 | open | Unsigned int as underlying type of enum |
173 | 2.2 | review | Constraints on execution character set |
174 | D.2 | open | Undeprecating global static |
175 | 9 | open | Class name injection and base name access |
176 | 9 | open | Name injection and templates |
177 | 8.5 | open | Lvalues vs rvalues in copy-initialization |
178 | 8.5 | review | More on value-initialization |
179 | 5.7 | open | Function pointers and subtraction |
180 | 14.6 | open | typename and elaborated types |
181 | 14.8.2.4 | open | Errors in template template-parameter example |
182 | 14.7.3 | open | Access checking on explicit specializations |
183 | 14.6 | open | typename in explicit specializations |
184 | 14.1 | open | Default arguments in template template-parameters |
185 | 12.8 | open | "Named" temporaries and copy elision |
186 | 14.6.1 | open | Name hiding and template template-parameters |
187 | 14.1 | open | Scope of template parameter names |
188 | 5.18 | open | Comma operator and rvalue conversion |
189 | 2.12 | open | Definition of operator and punctuator |
190 | 9.2 | open | Layout-compatible POD-struct types |
191 | 3.4.1 | open | Name lookup does not handle complex nesting |
192 | 3.4.1 | open | Name lookup in parameters |
193 | 12.4 | open | Order of destruction of local automatics of destructor |
194 | 12.1 | open | Identifying constructors |
195 | 5.2.10 | open | Converting between function and object pointers |
196 | 5.3.5 | open | Arguments to deallocation functions |
197 | 14.6.4.2 | open | Issues with two-stage lookup of dependent names |
198 | 9.8 | open | Definition of "use" in local and nested classes |
199 | 12.2 | open | Order of destruction of temporaries |
200 | 14.5.5.2 | open | Partial ordering and explicit arguments |
201 | 12.2 | open | Order of destruction of temporaries in initializers |
202 | 13.4 | open | Use of overloaded function name |
203 | 5.3.1 | open | Type of address-of-member expression |
204 | 14 | open | Exported class templates |
205 | 14 | open | Templates and static data members |
206 | 14.6.3 | open | Semantic constraints on non-dependent names |
207 | 11.2 | open | using-declarations and protected access |
208 | 15.1 | open | Rethrowing exceptions in nested handlers |
209 | 11.4 | open | Must friend declaration names be accessible? |
210 | 15.3 | open | What is the type matched by an exception handler? |
211 | 15 | open | Constructors should not be allowed to return normally after an exception |
212 | 14.7.1 | open | Implicit instantiation is not described clearly enough |
213 | 14.6.2 | open | Lookup in dependent base classes |
214 | 14.5.5.2 | open | Partial ordering of function templates is underspecified |
215 | 14.1 | open | Template parameters are not allowed in nested-name-specifiers |
216 | 3.5 | open | Linkage of nameless class-scope enumeration types |