Compilation GLib:替换不推荐的g_tree_traverse()函数?

Compilation GLib:替换不推荐的g_tree_traverse()函数?,compilation,glib,Compilation,Glib,最近我们计划将glib库升级到最新版本:2.64 我们已经建立了这个库,并尝试在我们的构建基础设施中使用它。在运行build时,我们遇到了很多警告,其符号为“g_tree_travers”,如下所示:- warning: 'g_tree_traverse' is deprecated [-Wdeprecated-declarations] 不确定我们应该使用什么来代替g\u tree\u transverse,我们如何解决这个问题?从复制(如Jussi建议的那样): g_tree_transv

最近我们计划将glib库升级到最新版本:
2.64

我们已经建立了这个库,并尝试在我们的构建基础设施中使用它。在运行build时,我们遇到了很多警告,其符号为“g_tree_travers”,如下所示:-

warning: 'g_tree_traverse' is deprecated [-Wdeprecated-declarations]
不确定我们应该使用什么来代替
g\u tree\u transverse
,我们如何解决这个问题?

从复制(如Jussi建议的那样):

g_tree_transverse
自2.2版以来已被弃用,不应在新编写的代码中使用

平衡树的顺序是任意的。如果只想按排序顺序访问所有节点,请改用。如果您确实需要以不同的顺序访问节点,请考虑使用n元树。< /P> 复制自(按照Jussi的建议):

g_tree_transverse
自2.2版以来已被弃用,不应在新编写的代码中使用

平衡树的顺序是任意的。如果只想按排序顺序访问所有节点,请改用。如果您确实需要以不同的顺序访问节点,请考虑使用n元树。< /P>
你看过文档了吗?你看过文档了吗?谢谢Philip,我们可以使用'g_tree_foreach',但是这个函数的功能不同于'g_tree_traverse',我注意到在g_tree_traverse函数中我们传递的是'traverse_type'参数,其中,在“g_tree_foreach”中,我们不发送“traverse_type”,默认情况下,它按排序顺序遍历所有节点。在我们的例子中,当我们使用“g_tree_traverse”时,我们使用traverse_类型作为g_In_ORDER、g_PRE_ORDER…等的组合,我们如何使用g_tree_foreach实现同样的效果。您能在这里分享一些示例代码吗?
GTree
被记录为实现排序平衡二叉树,并针对排序访问进行了优化。进行前序、中序和后序遍历意味着您可能不关心实际排序的节点。如文献所述,考虑使用n元树来代替,例如,谢谢菲利普,我们可以使用'GyTeeReIORACH ',但是这个函数的功能不同于'GyTeeReTrace',我注意到在G-TeeReTraceValw函数中,我们正在通过“TraveSeGyType”参数,其中,在“g_tree_foreach”中,我们不发送“traverse_type”,默认情况下,它按排序顺序遍历所有节点。在我们的例子中,当我们使用“g_tree_traverse”时,我们使用traverse_类型作为g_In_ORDER、g_PRE_ORDER…等的组合,我们如何使用g_tree_foreach实现同样的效果。您能在这里分享一些示例代码吗?
GTree
被记录为实现排序平衡二叉树,并针对排序访问进行了优化。进行前序、中序和后序遍历意味着您可能不关心实际排序的节点。正如文档所说的,考虑使用n元树来代替。