1 // { dg-do link } 2 3 template <class T> 4 class ConstArray { 5 }; 6 7 template <class T1, class T2> 8 void operator+(const ConstArray<T1>&, const ConstArray<T2>&) 9 { 10 } 11 12 template <class T1, class T2> 13 void operator+(const ConstArray<T1>&, T2); 14 15 template <class T1, class T2> 16 void operator+(T1, const ConstArray<T2>&); 17 cai()18const ConstArray<int> cai() { return ConstArray<int>(); } cad()19const ConstArray<double> cad() { return ConstArray<double>(); } 20 main()21int main() 22 { 23 cai () + cad (); 24 } 25