// { dg-do run } | |
template<class T> | |
class Set { | |
public: | |
typedef int (*Compare)(const T&, const T&); | |
static Compare cmp1; | |
static int (*cmp2)(const T&, const T&); | |
}; | |
template<class T> | |
int gen_cmp(const T& a, const T& b) { | |
if (a<b) return -1; | |
else if (a==b) return 0; | |
else return 1; | |
} | |
template<class T> | |
typename Set<T>::Compare Set<T>::cmp1 = &gen_cmp; | |
template<class T> | |
int (*Set<T>::cmp2)(const T&, const T&) = &gen_cmp; | |
int main() { | |
Set<int> s; | |
} |