我看到 这个 关于将json数组转换为结构向量的帖子。我有一个名为 Foo
:
typedef struct Foo {
Foo* SubFoo;
} Foo;
当我试图这样做的时候,
void from_json(const nlohmann::json& j, Foo& f) {
j.at("SubFoo").get_to(f.SubFoo);
}
它给我这个错误。
error: no matching function for call to 'nlohmann::basic_json<>::get_to(Foo*&) const'
j.at("SubFoo").get_to(a.SubFoo);
那么我怎么才能从json中得到一个指针到一个值呢?
只是取消引用指针。
void from_json(const nlohmann::json& j, Foo& f) {
j.at("SubFoo").get_to(*f.SubFoo);
}
这里有一个 演示.
但你必须确保你没有去引用一个无效的指针。