I am trying to pass a function pointer to a std::function argument. This is a part of a bigger code. I want to know whether it is possible to do so? As I know std::function is assignable from a function pointer.
#include <functional>
#include <iostream>
template<typename R, typename ...Args>
void storeFun(std::string funcName, std::function<R(Args...)> funcPtr){
std::cout << funcPtr(2);
}
template<typename R, typename ...Args, typename funcType>
void storeFun2(std::string funcName,funcType funcPtr){
std::function<R(Args...)> f22 = funcPtr;
std::cout << f22(2);
}
int fun1(int a){
return a;
}
int main(){
storeFun("fun1",fun1);
storeFun2("fun1",fun1);
return 0;
}
Aucun commentaire:
Enregistrer un commentaire