Функция 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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