我有一组回调类,用于处理具有可变数量参数的回调.现在我有大约6个不同的实例来处理不同数量的参数.有没有办法使一个实例可以处理可变数量的参数?最后,我希望每个参数都是POD类型或类指针,或结构指针.有任何想法吗?
templateclass kGUICallBackPtr { public: kGUICallBackPtr() {m_obj=0;m_func=0;} void Set(void *o,void (*f)(void *,T *)); inline void Call(T *i) {if(m_func) m_func(m_obj,i);} inline bool IsValid(void) {return (m_func!=0);} private: void *m_obj; void (*m_func)(void *,T *); }; template class kGUICallBackPtrPtr { public: kGUICallBackPtrPtr() {m_obj=0;m_func=0;} void Set(void *o,void (*f)(void *,T *,U *)); inline void Call(T *i, U *j) {if(m_func) m_func(m_obj,i,j);} inline bool IsValid(void) {return (m_func!=0);} private: void *m_obj; void (*m_func)(void *,T *,U *j); };
jwfearn.. 5
还没有语言本身,但C++ 0x将支持可变参数模板.
还没有语言本身,但C++ 0x将支持可变参数模板.