我有一个unordered_map函数,在解析XML文件时应该在对象上调用它们
我发现boost :: function有一个名为boost :: function_base的基类,但是正如我所料,我无法调用它,因为我没有函数的结构。
由于所有这些函数都是setter函数,我可以保证它们返回void并且只有一个未知类型的参数
有没有更好的方法来解决除了我试图避免的if-else-if分支之外的类型?
答案 0 :(得分:2)
使用boost :: variant是最好的方法。无论如何,你怎么可能调用具有未知参数类型的函数?
答案 1 :(得分:0)
boost::function
仅用于编译时多态。你为什么不只使用常规函数指针?即
typedef void (*function_type)(void *);