2013-04-04 51 views
-3

我有一个问题。说我有这样的代码:C++ - 以编程方式调用正确的函数参数

int myfunc(int arg-a, int arg-b); 
int mywrapperfunc(obj a, obj b); 

mywrapperfunc应该包裹myfunc。 mywrapperfunc丢弃第一个参数并获取第二个参数,这是一个数组。然后我使用数组项作为参数。但是说我不知道​​myfunc需要多少个参数,也不知道数组类型对象(b)中有多少个项目。我将如何以正确数目的参数以编程方式调用myfunc?移交的参数数量与数组类型对象中的项目数量相同。 编辑:arg-a和arg-b应该来自数组类型的对象。我将对象分解为参数。 编辑:我试图用一些涉及隐藏大部分后台作业的Cython。

+6

我不明白这一点。 –

+1

你能举一个你想做什么的例子吗?首先,'arg-a'和'arg-b'不是有效的标识符。 –

+1

为什么不使用'std :: vector'或'std :: array'(如果可用)?他们都知道他们的大小 –

回答

1

它被称为reflection,你不能用C++来做到这一点。使用其他语言,如java或c#。

+0

是否有一些我可以使用的Java包装?这是一个包装,由于某些特殊原因,必须用C++编写。有什么方法可以在另一种语言中执行该部分,并将其与C++对象文件链接起来? – refi64

+0

@ kirbyfan64sos如何处理针对问题的评论(特别是给出明确的代码示例),然后希望有人可以进一步帮助您。 – JBentley

+0

@SpongeBobFan:boost :: reflection怎么样? – refi64

相关问题