1 template <class T> 2 struct iterator { Compareiterator3 void Compare(const iterator &x) { } Checkiterator4 friend void Check(iterator) {} 5 }; 6 7 template <class T = int> struct Box { 8 iterator<T> I; 9 testBox10 void test() { 11 Check(I); 12 I.Compare(I); 13 } 14 }; 15