| // { dg-do link } | |
| template <class T> | |
| class ConstArray { | |
| }; | |
| template <class T1, class T2> | |
| void operator+(const ConstArray<T1>&, const ConstArray<T2>&) | |
| { | |
| } | |
| template <class T1, class T2> | |
| void operator+(const ConstArray<T1>&, T2); | |
| template <class T1, class T2> | |
| void operator+(T1, const ConstArray<T2>&); | |
| const ConstArray<int> cai() { return ConstArray<int>(); } | |
| const ConstArray<double> cad() { return ConstArray<double>(); } | |
| int main() | |
| { | |
| cai () + cad (); | |
| } |