SWIG любезно предоставляет функцию swig_type() для получения строкового представления типа данных переданного объекта userdata. Однако в случае полей членов SWIG и Lua считают, что это простые элементы «числа» и поэтому печатает только «число» вместо имени типа данных.SWIG/Lua: определить тип данных поля элемента
например.
typedef num_years int;
class Person
{
public:
Person * spouse;
num_years age;
};
в C++ приведет:
Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio
> p = MyModule.Person();
> print(swig_type(p.spouse));
Person *
> print(swig_type(p.age));
number
Есть некоторые обратно дверь маршрут я мог бы определить типы данных полей-членов? Я вижу, что функции get и set имеют правильное строковое представление числовых полей при проверке аргументов.
Спасибо за любую помощь!
Что вы ожидаете на выходе вместо «номер» - вы ожидаете, «возраст»? –
Я пытаюсь получить тип данных, так что «num_years» или «num_years *». Я уже могу получить имена переменных. – zslayton