我写了一个小类,它依赖于 boost::json 来序列化自己。它无法编译,因为编译器听起来无法找到实现 json::value<=>myClass 翻译的 tag_invoke() 函数:
/usr/include/boost/json/value_from.hpp:87:35: error: no matching function for call to ‘value_from_impl(CSpicaFTConfig&, std::remove_reference<boost::json::storage_ptr&>::type)’
return detail::value_from_impl(
~~~~~~~~~~~~~~~~~~~~~~~^
std::forward<T>(t), std::move(sp));
给出了这两个函数的实现:
CSpicaFTConfig CSpicaFTConfig::tag_invoke(value_to_tag<CSpicaFTConfig>, value const &jv);
void CSpicaFTConfig::tag_invoke(value_from_tag, value &jv, CSpicaFTConfig const &cfg);
但编译器似乎无法找到它们。
欢迎任何提示!谢谢