다음 두 가지 방법으로 C++로 작성된 Publisher 클래스가 있습니다.포인터에 대한 참조를 위해 SWIG typemap을 정의하는 방법은 무엇입니까?
PublishField(char* name, double* address);
GetFieldReference(char* name, double*& address);
이 클래스의 파이썬 바인딩은 SWIG를 사용하여 생성됩니다.
%pointer_class(double*, ptrDouble);
이렇게하면 Python 변수에 정의 된 필드를 게시 할 수 있습니다.
value = ptrDouble()
value.assign(10.0)
PublishField("value", value.cast())
그러나 GetFieldReference 메서드를 사용하면 TypeError가 발생하지만 :
GetFieldReference("value", newValue)
필자는 ptrDouble을 반환하는 double * &에 대한 typemap을 만들 필요가 있다고 생각하지만 실제로 어떻게 될지 확실하지 않습니다.