Jsoncpp Json:读取器导致错误“Debug assertion ... _pFirstBlock == pHead”

时间:2014-06-15 20:38:57

标签: c++ json debugging jsoncpp

我正在尝试制作一个将从网站使用Json的程序,我似乎遇到了这个问题:

std::ifstream ifile("json.txt");
Json::Reader reader;
Json::Value root;
if (ifile != NULL && reader.parse(ifile, root)) {
    const Json::Value arrayDest = root["dest"];
    for (unsigned int i = 0; i < arrayDest.size(); i++) {
        if (!arrayDest[i].isMember("name"))
        continue;
        std::string out;
        out = arrayDest[i]["name"].asString();
        std::cout << out << "\n";
    }
}

我已将问题缩小到最后 Json::Reader reader;

它给了我一个错误:

  

调试断言... _pFirstBlock == pHead

我正在使用jsoncpp

1 个答案:

答案 0 :(得分:1)

这不是JsonCpp错误; JsonCpp源代码中没有pHead。从一个简短的谷歌搜索,它看起来像error reported within Microsoft Visual C++'s runtime libraries,由分配内存的位置和使用DLL时释放的位置不匹配,或者在使用哪个版本的C运行时之间,或者如何使用正在链接C运行时。