1 // PR c++/27339 2 3 class A 4 { 5 private: 6 enum private_enum {a}; 7 8 template<A::private_enum v> // OK 9 struct B 10 { 11 void bm(); 12 }; 13 public: am()14 void am() 15 { 16 B<a> instance; //OK 17 instance.bm(); 18 } 19 }; 20 21 template<A::private_enum v> // FAIL 22 void bm()23A::B<v>::bm(){} 24