我希望结构节点中的函数f2调用节点中的函数f1,而不是全局函数f1。
#include <iostream>
#include <functional>
int f1()
{
return 1;
}
int f2()
{
return f1();
}
struct node
{
int f1()
{
return 2;
}
std::function<int()> f2 = ::f2;
};
int main()
{
node a;
std::cout << a.f2() << "\n";
return 0;
}
我希望结构节点中的函数f2调用节点中的函数f1,而不是全局函数f1。
1条答案
按热度按时间r3i60tvu1#
你可以通过在
node
中添加一个(第二个)构造函数来实现,该构造函数接受一个callable,并将其赋值给node::f2
。输出量:
Live Demo