2013-04-04 97 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

相關問題