我正在尝试执行以下操作,但我什至不确定是否可行。
我想要一个带有任意函数指针的函数,以将其传递给另一个函数(我知道这是一种代码味道,良好的软件工程实践不是我现在要讨论的内容)。
换句话说,我正在寻找的样子:
void method1(arbitraty pointer p)
{
method2(p);
}
我不确定是否有一种方法可以声明任意函数指针(返回值保证为空,但参数在数量和类型上都是任意的)
仅在推断出的类型为函数指针类型时,才使用模板并使用SFINAE启用它:
template <typename T, std::enable_if_t<std::is_function<T>::value, int> = 0>
void method1(T* p)
{
// ...
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句