Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/template/ptrmem1.C @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
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); }