(這是一個問題,我昨天問過,但我簡化它)痛飲:一個自定義的類的對象作爲輸出參數(與Python)
我創建了一個類,我希望兩個對象作爲輸出一個函數的參數(下面稱爲Test)。但是,當我運行swig命令swig -C++ -python swigtest.i時,出現錯誤「Warning 453:Can not apply(MyClass & OUTPUT)。沒有定義類型映射。」我嘗試添加類型映射,但這沒有幫助。我也試過使用指針,指向指針的指針和指針的引用,這也沒有幫助。
我覺得我忽略了一些簡單的東西,因爲這應該是一件很常見的事情。或者我需要編寫一個複雜的類型圖,就像我見過的,但不明白(還)?
下面是我的代碼:
MyClass.h(簡化,使之可以理解的,所以切換到使用INT沒有幫助):
class MyClass
{
int x;
public:
int get() const
{
return x;
}
};
void Test(MyClass &obj1, MyClass &obj2);
swigtest.i:
%module swigtest
%include typemaps.i
%{
#define SWIG_FILE_WITH_INIT
%}
%{
#include "MyClass.h"
%}
%include "MyClass.h"
%apply (MyClass& OUTPUT) { MyClass &obj1 }
%apply (MyClass& OUTPUT) { MyClass &obj2 }
你應該把你的答案放在一個單獨的答案,而不是在你的問題。也只是一個說明,你可以使用「%忽略測試」,以便命名python插入「測試」。 – Schollii
對不起,我新來張貼堆棧溢出。我只是做了你的建議。 –
沒有問題,我們都在這裏學習 – Schollii