2010-10-21 2 views
0

Что мне передать в качестве второго параметра в v_get_xpath_base, чтобы заставить его работать, независимо от того, что я пытаюсь, всегда возникает проблема. Либо класс является базовым классом, но не может быть создан или класс не может быть отброшен.TinyXpath v_get_xpath_base, второй параметр

Я в недоумении, кто-то мне помогает?

 TiXmlElement* outputnode = new TiXmlElement("test"); 
    bool isAttrib; 
    proc.v_get_xpath_base(1, outputnode, isAttrib); 

В настоящее время он стоит, то TiXmlElement не может быть приведен к const TiXmlBase*&

ответ

1

В API собирается вернуть вам узел согласования - Я полагаю, что вам нужно что-то вроде:

const TiXmlBase* outputnode(0); 
bool isAttrib; 
proc.v_get_xpath_base(1, outputnode, isAttrib); 

и после вызов, outputNode будет указывать на согласованные данные. Похоже, вы должны использовать const TiXmlBase* как тип для outputnode. Существует пример here, который делает это.

Обратите внимание, что это работает только после того, как вы сделали это, согласно TinyXML документы:

Может использоваться только после вызова u_compute_xpath_node_set.

+0

Мой компилятор говорит: невозможно преобразовать параметр 2 из 'const TiXmlElement *' в 'const TiXmlBase * &' –

+1

Вы пытались использовать 'const TiXmlBase * outputnode (0);'? У меня нет библиотеки, поэтому я не могу попробовать это. –

+0

@Tony - см. Редактирование, я нашел образец, который использует 'TiXmlBase', и отдает результат тому, что нужно. Соответственно отредактированный ответ. –

0

У меня такая же проблема. Решение Steve работает нормально, но я не вижу, как использовать outputnode после. Он не может быть отличен от TiXmlBase до TiXmlElement или не использоваться непосредственно с помощью метода из этого дочернего класса. Я просматриваю документацию, не найдя способ манипулировать этим указателем TiXmlBase.

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