В настоящее время я регистрирую и сериализую некоторые классы с помощью Boost. Используя следующий код для каждого класса:BOOST: ссылка экспортированного класса со строкой
BOOST_CLASS_EXPORT(Namespace::ClassName)
Теперь мой вопрос, есть ли возможный способ ссылаться на этот класс с пространством имен :: ИмяКласс поэтому я могу импортировать/использовать/найти класс снова? До сих пор мой поиск в Boost Documentation не принес никаких результатов. Благодаря
EDIT:
При попытке коды из sehe следующей ошибки происходит:
Причина: Исключение импульса было поднято: На /usr/include/boost/serialization/factory.hpp:38 в функция T * boost :: serialization :: factory (__ va_list_tag *) [с T = Namespace :: ClassName; Int N = 0] следующее выражение evaluted ложь: ложь
Backtrace:
1 0x7fae7fbb7528 boost::assertion_failed(char const*, char const*, char const*, long) + 275
2 0x743147 Namespace::ClassName* boost::serialization::factory<Namespace::ClassName, 0>(__va_list_tag*) + 37
3 0x739bc5 boost::seri
Это, кажется, работает частично, как я могу найти extendet_type_info и, кажется, правильно оценить , Хотя при построении класса я получаю исключение форсирования См. Редактирование в вопросе – Lenny
Мне любопытно, какие части еще не работают – sehe
По какой-то причине, хотя фабрика определена. он по-прежнему использует случай по умолчанию, который по реализации ничего не делает. Следовательно, я получаю сообщение, что выражение оценивается как false. – Lenny