-
Bug
-
Resolution: Unresolved
-
Medium
-
Code Generation Tools
-
CODEGEN-4124
-
The following code emits errors about A::I being private. The standard states that the uses of A::I as a template parameter is not ill-formed.
class A {
typedef int I; // private member
friend I g(I);
template<int> struct Q;
template<int> friend struct R;
protected:
struct B { };
};
template<A::I> struct A::Q { };
template<A::I> struct R { };