использование параметра шаблона в функции шаблона - PullRequest
0 голосов
/ 24 октября 2018

Я получаю ошибку компилятора g ++ (ожидаемое первичное выражение до токена '>') в exportFoo :

class FOO {
    ...
    template<typename DT, typename ST>
    void foo(...);
    ...
};

template<typename DT, typename ST>
void
FOO::doFoo(...)
{
    ...
    size_t memSize = 
        (dynamic_cast< FooImpl< DT > >(obj))->exportFoo< ST >(...);
    ...
}

Если заменить «DT» на действительный и известный тип данных,нет ошибки компилятора.Поэтому я предполагаю, что компилятор не интерпретирует универсальные типы данных DT и ST как допустимые параметры для приведения объекта "

" и вызова функции внутри функции.Судя по пробам и ошибкам, я использовал префикс приведения FooImpl<typename DT>, но он не запускается.У кого-нибудь есть подсказка?

Спасибо.

...