Ben parametrelerin değişken sayılar ile geri aramalar işlemek için kullanmak geri arama sınıfların bir dizi var. Şu anda farklı sayıda argümanı işlemek için 6 farklı örneğim var. Değişken sayıda argüman tutabileceğinden bir örnek yapmak için bir yol var mı? Nihayetinde her bir parametrenin bir POD tipi veya bir sınıf işaretçisi veya bir yapısal işaretçi olmasını isterim. Herhangi bir fikir?Şablon sınıfındaki değişken sayıda parametreyi işlemenin bir yolu var mı?
template <class T>
class 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 T,class U>
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);
};