Объявление в файле .h, как часть класса Item:
template<typename TCastTarget> inline TCastTarget* as() const
{
...
return const_cast<TCastTarget *>(static_cast<const TCastTarget *>(atomicValue));
}
Код в .cpp:
Numeric* l_ptmp = next.as<Numeric>(); //next is of type Item
Сообщение об ошибке:
functions / qcomparingaggregator.cpp: 129: нет соответствующей функции для вызова 'QPatternist :: Item :: as ()'
Есть идеи, в чем проблема с этим кодом?Класс элемента не является шаблонным, есть только его функция as()
.Если это имеет значение, код является частью модуля Qt.
Обратите внимание на используемую старую версию gcc (3.2.3), поскольку более новые версии скомпилировали этот код в порядке.Излишне говорить, что я не могу использовать более новый Gcc ..: (