【发布时间】:2011-11-16 14:02:04
【问题描述】:
我在“C”类中有以下函数
class C
{
template<typename T> void Func1(int x);
template<typename T> void Func2(int x);
};
template<typename T> void C::Func1(int x)
{
T a(x);
}
template<typename T> void C::Func2(int x)
{
T a(x);
}
函数仅在实现中使用模板。签名不包含模板参数。
是否可以定义指向此类模板函数的指针?
我尝试了以下定义,但它导致编译错误。
typedef template<typename T> void (СSomeClass::*TFuncPtr)(int);
【问题讨论】:
-
没有 typedef 是否可以工作?
-
停止调用它们模板函数。它们是函数模板。它确实有所作为(不,我不愿意向不接受答案的人解释)。
-
Jan 非常感谢您的回答,真的很有用。
标签: c++ templates function pointers