1 template <class T> 2 struct X { 3 template <class U> void operator+=(U); 4 5 template <class V> 6 template <class U> 7 friend void X<V>::operator+=(U); 8 }; 9 main()10 int main() { 11 X<int>() += 1.0; 12 } 13