1

我试图使用 yaml 访问具有 X 和 Y 坐标的框架。&frame_node当我有而不是,事情工作正常*frame_node,但是为了使用FindValue我必须使用的功能*frame_node。但是frame_node[0],,,frame_node[1]等等,现在给我一个错误。你能帮我解决这个问题吗?

if (const YAML::Node *frame_node = config_node.FindValue("frame")) {
   //const YAML::Node &frame_node = config_node["frame"];
   std::cout << "Hello" << std::endl;
   hasCard = 1 ; 
   // X-coordinates.
   frame_node[0] >> x[0];
   frame_node[1] >> x[1];
   frame_node[2] >> x[2];
   frame_node[3] >> x[3];
   // Y-coordinates.
   frame_node[4] >> y[0];
   frame_node[5] >> y[1];
   frame_node[6] >> y[2];
   frame_node[7] >> y[3];
}
4

1 回答 1

1

frame_node is a pointer, so frame_node[1] will give you pointer arithmetic. You want (*frame_node)[1].

于 2013-02-12T14:07:02.683 回答