ChaiScript: предоставление переменных данных-членов класса

Я пытаюсь разоблачить Ogre::Vector2 класс для ChaiScript. Я хочу разоблачить x а также y класса и согласно этому посту на их форуме, кажется, что вам просто нужно добавить его, как и любую другую функцию. Но это не работает для меня, и это дает мне следующее сообщение об ошибке:

«Ошибка при отправке функции для функции« x »» С параметрами:
(константный класс Ogre :: Vector2). ()

НОТА: Я пытался получить к ним доступ как v.x а также v.x() внутри сценария.

Мое определение модуля выглядит так:

using namespace chaiscript;
ModulePtr module(new Module());
module->add(user_type<Ogre::Vector2>(), "Ogre::Vector2");
module->add(constructor<Ogre::Vector2()>(), "Ogre::Vector2");
module->add(constructor<Ogre::Vector2(float, float)>(), "Ogre::Vector2");
module->add(constructor<Ogre::Vector2(float)>(), "Ogre::Vector2");
module->add(constructor<Ogre::Vector2(const Ogre::Vector2&)>(), "Ogre::Vector2");
module->add(fun(&Ogre::Vector2::x), "x");
module->add(fun(&Ogre::Vector2::y), "y");
module->add(fun<Ogre::Vector2& (Ogre::Vector2::*)(const Ogre::Vector2&)>(&Ogre::Vector2::operator =), "=");
module->add(fun<Ogre::Vector2 (Ogre::Vector2::*)(const Ogre::Vector2&) const>(&Ogre::Vector2::operator+), "+");
module->add(fun<Ogre::Vector2 (Ogre::Vector2::*)(const Ogre::Vector2&) const>(&Ogre::Vector2::operator-), "-");
module->add(fun<Ogre::Vector2 (Ogre::Vector2::*)(const Ogre::Vector2&) const>(&Ogre::Vector2::operator*), "*");
module->add(fun<Ogre::Vector2 (Ogre::Vector2::*)(const float) const>(&Ogre::Vector2::operator*), "*");
module->add(fun<Ogre::Vector2 (Ogre::Vector2::*)(const Ogre::Vector2&) const>(&Ogre::Vector2::operator/), "/");
module->add(fun<Ogre::Vector2 (Ogre::Vector2::*)(const float) const>(&Ogre::Vector2::operator/), "/");

Я изначально пытался определить этот класс через их вспомогательный макрос класса и продолжал вручную определять этот модуль, обнаружив эту ошибку. Так как их форум отключил создание новых тем и новые сообщения (ЧЕРТ, спаммеры!), Я публикую этот вопрос здесь. Любая помощь для решения этой проблемы будет принята с благодарностью.

ЗАМЕТКА 2: Я использую ChaiScript-4.2.0

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …