【发布时间】:2026-02-14 01:05:01
【问题描述】:
您好,提前感谢您的支持,
我正在尝试发送一个指向函数的指针,该函数类型为 void,但什么也没有收到。
到目前为止效果并不好。
这是我遇到此问题的最小代码:
void func::foo()
{
return;
}
使用它的功能是:
void func::create_func(void(*wanted_func)())
{
wanted_func();
}
问题在于它何时调用:
create_func(foo);
请指教, 我希望我没有问过什么很傻的问题
【问题讨论】:
-
func是类还是命名空间?如果是类,foo是静态的吗? -
将您的代码转换为完整的示例可以很好地编译:godbolt.org/z/zMnGoMM5Y 所以请提供minimal reproducible example,我们可以使用它来重现您的问题。
-
func 是一个类,
-
我收到 2 个错误:“void (func::*)()”类型的参数与“void (*)()”类型的参数不兼容,并且:'FunctionCalculator::foo ':非标准语法;使用 '&' 创建指向成员的指针 感谢您的帮助!
-
不能将成员函数的地址放入非成员函数指针中,除非成员函数是静态的。
标签: c++ function-pointers