我试图使用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];
}
答案 0 :(得分:1)
frame_node
是一个指针,因此frame_node[1]
将为您提供指针算术。你想要(*frame_node)[1]
。