【发布时间】:2012-02-23 00:03:37
【问题描述】:
我在 c++ 中有几个重载函数,我想将它们组成一个数组,以便我可以在循环中使用它们(实际上我想随机调用它们)。你能帮忙吗 ?教程只展示了如何使用相同的函数参数来处理函数指针数组。
【问题讨论】:
-
不清楚你到底想做什么。您能否添加一些伪代码来说明您希望能够做什么?
-
@SethCarnegie:看起来,如何在不知道需要什么参数的情况下调用一个。
-
C++ 无法从函数指针和参数列表生成函数调用。
-
作为一个建议,你可以试试 C++ 中的函子
-
既然你说“重载函数”和“数组”:不可能。您可能这样做的唯一方法是创建一个
std(boost)::function对象的向量/数组,这些对象绑定了非公共参数。在不知道参数类型和数量的情况下,在 C++ 中调用不同签名的函数本质上既不可能也不安全。可以通过滥用强制转换来进行尝试,但您的结果可能是:堆或堆栈损坏,或者希望彻底崩溃。
标签: c++ arrays overloading