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