具有通用功能作为参数的导线功能

问题描述 投票:0回答:1

我正在尝试实现二叉搜索树。

我发现自己需要遍历树,原因有几个:

(1)检查BST是否具有特定元素

(2)填充BST中保存的值的数组

(3)检查两个BST是否相等

有没有办法编写一个遍历函数,它接受一个泛型函数(其参数未指定)作为参数,以便在遍历BST时调用该函数?

(例如,检查当前节点的值是否等于给定值的函数)。

谢谢 :)

c++ arrays dictionary
1个回答
1
投票

你可以学习函数指针的帮助。将函数的地址作为参数传递给遍历函数:

void func_to_call()
{
...
}

// Call to traverse with function pointer as one of the arguments
traverse(&func_to_call, <other parameters required by traverse>);
© www.soinside.com 2019 - 2024. All rights reserved.