Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/template/ptrmem1.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 compile } // Copyright (C) 2001 Free Software Foundation, Inc. // Contributed by Nathan Sidwell 31 Dec 2001 <nathan@codesourcery.com> // PR 3716 tsubsting a pointer to member function did not create a // pointer to member function. template <class C, class T, T C::*M> struct Closure { T operator() (C & c) const { return (c.*M); } }; template <class C, class T, T (C::* M)()> struct Closure<C, T (), M> { T operator()(C & c) const { return (c.*M)(); } }; struct A { int get(); }; static Closure<A, int (), & A::get> get_closure; void Foo () { A a; get_closure (a); }