summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.jason/template34.C
blob: eaeb4641a8577596ca0795c57eec4d52ca835fe4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// { 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;
}