在C中将函数指针转换为仿函数
发布时间:2020-12-16 09:54:07 所属栏目:百科 来源:网络整理
导读:我有一个从另一个.hpp文件导入的函数指针类型.就像是: typedef void (*PFN_func)(int i); 我想创建一个相同类型的仿函数: std::functionPFN_func 但这不起作用. 我不想要像这样的解决方案 std::functionvoid(int) 因为mt函数指针定义要复杂得多 解决方法
我有一个从另一个.hpp文件导入的函数指针类型.就像是:
typedef void (*PFN_func)(int i); 我想创建一个相同类型的仿函数: std::function<PFN_func> 但这不起作用. std::function<void(int)> 因为mt函数指针定义要复杂得多 解决方法
你可以这样做:
std::function<std::remove_pointer<PFN_func>::type> 从void(*)(int)中删除指针会给出函数类型void(int). 对于一般可调用的情况,请参见Is it possible to figure out the parameter type and return type of a lambda? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |