Функция SWIG, возвращающая ссылку ⇐ Python

Программы на Python
Anonymous
Функция SWIG, возвращающая ссылку

Сообщение Anonymous »

Я хочу запустить SWIG в следующей структуре C++:

Код: Выделить всё

        struct TestAlias
{
TestAlias(double a1, double a2, double a3) : angle1(a1), angle2(a2), angle3(a3) {}

double angle1;
double angle2;
double angle3;

double& psi = angle1;
double& theta = angle2;
double& phi = angle3;
};
а затем использовать его в Python следующим образом:

Код: Выделить всё

        test_alias = TestAlias(1.1, 22.22, 333.333)
test_alias.psi = 4444.4444
print('testAlias = (%r, %r, %r)' % (test_alias.psi, test_alias.theta, test_alias.phi))
В моем файле ".i" мне пришлось использовать %apply double& INOUT { double& psi };, чтобы test_alias.psi = 4444.4444 работал.< /p>
Но теперь результат «print» следующий: testAlias ​​= (, , )
Я ожидал: testAlias ​​= (4444.4444, 22.22,333.333)
Как мне этого добиться?

Подробнее здесь: https://stackoverflow.com/questions/790 ... -reference

Вернуться в «Python»