【发布时间】:2013-04-04 13:37:37
【问题描述】:
我有一个问题。假设我有这个代码:
int myfunc(int arg-a, int arg-b);
int mywrapperfunc(obj a, obj b);
mywrapperfunc 应该包装 myfunc。 mywrapperfunc 丢弃第一个参数并采用第二个参数,它是一个数组。然后我使用数组项作为参数。但是假设我不知道 myfunc 需要多少个参数,也不知道数组类型 object(b) 中有多少项。如何以正确数量的 args 以编程方式调用 myfunc?移交的 args 数量将与数组类型对象中的项目数相同。 编辑: arg-a 和 arg-b 应该来自数组类型对象。我将对象拆分为 args。 编辑:我试图用某种意义来包装 Cython,隐藏大多数后台工作。
【问题讨论】:
-
我什么都不懂。
-
你能举一个你想做的例子吗?首先,
arg-a和arg-b不是有效的标识符。 -
为什么不使用
std::vector或std::array(如果可用)?他们都知道自己的大小 -
丢弃第一个参数的目的是什么?那为什么是参数呢?
-
对于
mywrapperfunc调用myfunc,它必须要么静态知道myfunc,要么有一个指向它的指针。无论哪种方式,它都静态地知道类型,因此知道参数的数量。如果这不是正在发生的事情,请说明这是如何设置和调用的。
标签: c++