Я пытаюсь передать функцию шаблона другой функции, которая принимает аргумент 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. Я получаю ошибку «unregolved overloaded function type» в processDoSomething (dosomething), говоря, что она не соответствует аргументу typdef.
У меня нет большого опыта работы с шаблонами, поэтому я не уверен, что не так. Может кто-нибудь мне помочь?
funcPointer определен в классе заголовка, поэтому вам нужно придать ему что-то в вашей функции processDoSomething. Поскольку это не зависит от шаблонных аргументов, можете ли вы переместить typedef вне класса? –
Да, я могу, но что вы подразумеваете под префиксом что-то? – js0823
'header :: funcPointer F' или что-то –