1template <int I> struct B { };
2
3template <class T>
4B<T::I> f();
5
6class A
7{
8  static const int I = 42;
9  template <class T> friend B<T::I> f();
10};
11
12int main()
13{
14  f<A>();
15}
16