1 // { dg-do compile } 2 3 #include <set> 4 5 class SyAccess; 6 class VamsBase 7 { 8 public: 9 virtual ~VamsBase(void); 10 }; 11 12 class VamsFnct : public VamsBase 13 { 14 public: 15 ~VamsFnct(void); getNullDependencies(void)16 std::set<SyAccess*> getNullDependencies(void) const 17 { return std::set<SyAccess*>(); 18 } 19 }; 20 21 class VamsFnctSystem:public VamsFnct 22 { public: 23 VamsFnctSystem( 24 const bool _bPassDependencies); 25 }; 26 27 template< std::set<SyAccess*> (VamsFnct::*__GET_DEP__)(void) const > 28 class VamsSystemFunction:public VamsFnctSystem 29 { public: VamsSystemFunction()30 VamsSystemFunction() 31 :VamsFnctSystem( 32 __GET_DEP__ != &VamsFnct::getNullDependencies 33 ) 34 { 35 } 36 }; 37 38 VamsSystemFunction<&VamsFnct::getNullDependencies> s; 39