使用 jsoncpp 堆栈损坏

Stack corruption with jsoncpp

我收到堆栈损坏提示“运行-Time Check Failure #2 - Stack around the variable 'root' was corrupted.”使用以下代码:

#include <json/json.h>
#include <fstream>
#include <iostream>
#include <string>

int main() {
  Json::Value root;
  Json::Reader reader;
  ifstream file("input.json");
  if (!reader.parse(file, root)) {
    cout << "Failed to parse configuration\n"
      << reader.getFormattedErrorMessages();
    return 0;
  }

  file.close();
  cout << root << endl;

  return 0;
}

文件 input.json 包含:

[
  {
    "id": "id"
  }
]

知道为什么会发生这种情况吗?我该如何调试?

提前致谢!!

jsoncpp 中的

Reader class 似乎已过时。参考 https://github.com/open-source-parsers/jsoncpp/blob/master/example/readFromStream/readFromStream.cpp

上的最新示例