// Copyright (C) 2002 Free Software Foundation | |
// Origin: C++/70 | |
// Contributed by Gabriel Dos Reis <gdr@integrable-solutions.net> | |
// { dg-do compile } | |
template <class T> | |
struct S; | |
template <class T> | |
void operator* (S<T>, S<T>); | |
template <class T> | |
struct S | |
{ | |
friend void operator*<> (S, S); // { } // okay | |
void operator* (T) { } | |
}; | |
template <class T> | |
void operator* (S<T>, S<T>) { } | |
int main() | |
{ | |
S<int> s1, s2; | |
s1 * s2; | |
s1 * 2; | |
} |