1*2b560575SRichard Smith namespace N { template<typename T> struct A { friend int f(A); }; } 2*2b560575SRichard Smith // It would seem like this variable should be called 'c'. 3*2b560575SRichard Smith // But that makes the original problem disappear... 4*2b560575SRichard Smith int e = f(N::A<int>()); 5*2b560575SRichard Smith #include "a.h" 6*2b560575SRichard Smith #include "b.h" 7