我正在尝试将nlohmann::json类型的对象转储为visual studio调试器中可读的字符串值。因此,为了从nlohmann::json实例调用转储方法,我使用了visual studio中间窗口。
然而,这个方法似乎不能很好地运行并返回too few arguments in function call错误,尽管我完全按照我应该调用的方式调用了它。此外,如果我尝试将其输出设置为新的std::string类型,调试器也无法识别它。
myJsonObj
{m_type=object (1 '\x1') m_value={object=0x000001303ea66590 { size=2 } array=0x000001303ea66590 { size=1152921422937066337 } ...} }
m_type: object (1 '\x1')
m_value: {object=0x000001303ea66590 { size=2 } array=0x000001303ea66590 { size=1152921422937066337 } string=0x000001303ea66590 "0A_>0\x1" ...}
myJsonObj.dump()
too few arguments in function call
std::string x = myJsonObj.dump()
identifier "x" is undefined你知道该怎么做吗?
发布于 2021-06-09 09:29:46
在中间窗口中,我们不能使用C++函数的默认参数。您可以像这样调用dump方法:
myJsonObj.dump(4, ' ', true, nlohmann::detail::error_handler_t::strict)但是,在中间窗口中,我们看不到格式化良好的打印结果。您可以使用Visual Studio监视窗口来显示返回的字符串。请查看此处的链接以了解如何使用监视窗口:How to make Visual Studio's Immediate window give me plain string output?

https://stackoverflow.com/questions/61033229
复制相似问题