view gcc/testsuite/g++.old-deja/g++.jason/template34.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
line wrap: on
line source

// { 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;
}