gpt4 book ai didi

c++ - JsonCpp 在退出函数时抛出 LogicError

转载 作者:太空宇宙 更新时间:2023-11-04 12:45:57 25 4
gpt4 key购买 nike

我有这段代码:

void foo()
{
std::string r = curlcall();
std::string error;
Json::CharReaderBuilder *build = new Json::CharReaderBuilder();
Json::CharReader *read = build->newCharReader();
Json::Value *root = new Json::Value();

std::cout << "parse\n";
read->parse(&r.front(), &r.back() + 1, root, &error);
std::cout << "loop\n";
for(auto i : *root)
{
//code that pulls info from each i
}
std::cout << "delete\n";
delete root;
delete read;
delete build;
std::cout << "end\n" << error << "\n";
}

当我编译并运行这个程序时,它输出:

parse
loop
delete
end

但是,在此输出之后,程序在这里崩溃并显示消息:

terminate called after throwing an instance of 'Json::LogicError'
what(): in Json::Value::resolveReference(key, end): requires objectValue
Aborted (core dumped)

找了半天也没找到是什么原因抛出这个异常。我似乎也无法使用 try/catch 捕获错误。

最佳答案

所以事实证明我很糟糕并且没有刷新输出流因此我用来调试的文本消息没有被打印并且错误发生在下一个函数中。很抱歉浪费了人们的时间。

关于c++ - JsonCpp 在退出函数时抛出 LogicError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51594874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com