0
我想将模板函数传递给另一个需要typedef参数的函数。将模板函数传递给另一个采用typedef参数的函数
例如,我有功能
在header.h
template<typename A, typename B>
class header: public baseHeader<A, B>{
public:
typedef void (* funcPointer)(void);
// and more...
}
在source.cxx
template<typename A, typename B>
void dosomething(void *arg){
// code here
}
void processDoSomething(funcPointer F){
// code here
}
template<typename A, typename B>
void work(){
processDoSomething(dosomething);
}
很抱歉的代码是非常凌乱,但我试图要做的是将模板函数传递给另一个接受typedef参数的函数。我在processDoSomething(dosomething)处得到“未解析的重载函数类型”错误,并说它与typdef参数不匹配。
我对模板功能没有太多经验,所以我不确定是什么错误。 有人可以帮我吗?
funcPointer是在头文件类中定义的,所以你需要在你的processDoSomething函数中加上前缀。因为它不依赖于模板论证,所以你可以在类之外移动typedef吗? –
是的,我可以,但是你的意思是什么? – js0823
'header :: funcPointer F' or something –