2013-02-12 2 views
1

Я пытался получить доступ к кадру с координатами X и Y с помощью yaml. Все отлично работало, когда у меня было &frame_node вместо *frame_node, но для использования функции FindValue мне пришлось использовать *frame_node. Однако, frame_node[0], frame_node[1] и т. Д., Дайте мне ошибку сейчас. Не могли бы вы помочь мне решить эту проблему?затруднение доступа к узлу yaml как массив

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

frame_node является указателем, так frame_node[1] даст вам указатель арифметика. Вы хотите (*frame_node)[1].

Смежные вопросы