c++ - 在模板函数中使用模板参数
问题描述
我在 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>
但它没有运行。有人有提示吗?
谢谢。
解决方案
推荐阅读
- python - 在 Linux 服务器上安装 Python
- azure - 在 Visual Studio 中运行时无法访问 KeyVault
- flutter - 使用 Flutter 的 PodInstall 问题
- mysql - 格式错误的 UTF-8 字符,可能编码不正确 (Laravel 5.7.29)
- python-3.x - 如何使用 api 在 cloudendure 控制台中创建项目?
- angular - 角度观察列表中的总和
- javascript - 用对象数组中的值替换对象中的键
- c# - 收到“消息不在 TimeWindow 中!” 发送 snmpv3 陷阱时
- java - Sonarqube 设置在 MAC 终端中引发“无法创建 Java 虚拟机”错误
- c++ - 用户错误输入的循环或代码,直到正确输入c ++