Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/template/overload5.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
// PR c++/22621 struct foo { typedef int (*fun)(int); static int f(int); // overload between static & non-static int f(); static int g(int); // non-overloaded static }; template<foo::fun> struct f_obj { // something .. }; f_obj<&foo::f> a; // OK f_obj<foo::f> b; // OK (note: a and b are of the same type) int foo::f() { f_obj<&foo::f> a; // OK f_obj<foo::f> b; // ERROR: foo::f cannot be a constant expression f_obj<&foo::g> c; // OK f_obj<foo::g> d; // OK return 0; }