难以将yaml节点作为数组访问

时间:2013-02-12 07:59:03

标签: c++ yaml-cpp

我试图使用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];
}

1 个答案:

答案 0 :(得分:1)

frame_node是一个指针,因此frame_node[1]将为您提供指针算术。你想要(*frame_node)[1]