【发布时间】:2025-12-03 12:55:02
【问题描述】:
我有两个函数,其中一个将函数作为参数,这很好用,但我想在第二个函数中调用这个传递函数。
class XY {
public:
void first(void f());
void second();
};
void XY::first(void f()){
}
void XY::second(){
f(); //passed function from first()
}
【问题讨论】:
-
您是从第一个开始调用第二个,还是在稍后单独调用第二个?
-
可能想看看这个。 *.com/questions/12662891/…
-
第一个被调用一次,第二个稍后被独立调用
-
然后您可以创建一个成员对象,其中包含一个指向 void 函数的指针,该函数首先分配给它,然后调用它。
-
@user 是的,正确类型的函数指针在这里似乎没问题。
std::function在这种情况下似乎有点矫枉过正,但即使不需要它的特殊类型擦除功能,人们也喜欢建议它