Я новичок в SWIG.Я обернул C ++ класс N :: A, используя SWIG.Мне нужно вызвать A.Init(N::B& const)
через python, где N::B
определяется через protobuf file(B_params.proto)
, и использовать его для объявления класса в python.Как преобразовать объект Python типа B для вызова функции C ++?
A.i
:
%module A_wrap
%{
#include "path/to/A.h"
using namespace N;
%}
namespace N {
class B;
class A {
public:
A() = default;
// Initializes the A object.
Result Init(const N::B& params);
};
}
A.py
:
import B_pb
from A_wrap import A
a = A()
b = B()
a.Init(B)
В настоящее время я получаюследующая ошибка
TypeError: in method 'A_Init', argument 2 of type 'N::B const &'