将std::可选值存储到JSON文件c++

e37o9pze  于 2023-08-08  发布在  其他
关注(0)|答案(1)|浏览(108)

我有一个std::optional<float> test;
我想把这个值存储到json文件中,因为它是可选的,所以直到运行时我才知道这个变量是否有值。所以我正在努力

frameJson["Test"] = test.has_value() ? test.value() : std::nullopt;

字符串
但我犯了个错误

Error:Incompatible operand types ('const std::optional<float>::value_type' (aka 'const float') and 'const std::nullopt_t')


问题-如何在所有情况下将std::optional的值存储到json中,这意味着如果它为空,那么它必须是null或其他有意义的值。

qqrboqgw

qqrboqgw1#

不如

frameJson["Test"] = test.has_value() ? basic_json(test.value()) : basic_json();

字符串

相关问题