繁体   English   中英

在模板函数中使用模板参数

[英]using a template parameter within a template function

我在exportFoo <ST>中收到一个g ++编译器错误(在'>'标记之前预期有主表达式):

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解释为对象强制转换为“ <DT>”和函数内函数调用的有效参数。 通过尝试和错误,我为演员表添加了FooImpl<typename DT>前缀,但是它没有运行。 有人有提示吗?

谢谢。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM