c++ - 部分模板模板向量特化
问题描述
我有一个处理不同容器的通用函数。
template<template<class, class> class C, class T, class A>
void handle(C<T, A> const& c)
{
cout << "General handling\n";
}
现在,如果我将自定义容器传递给它,我希望它做出不同的反应。为简单起见,我首先尝试将这个函数部分专门化为向量,以单独的方式处理向量。
这就是我认为它应该看起来的样子。
template<class T, class A>
void handle<std::vector>(std::vector<T, A> const& c)
{
cout << "vector handling\n";
}
但是gcc给出以下错误:
无法执行程序编译器返回:1 编译器标准错误:16:36:错误:主模板 16 声明中的模板 ID 'handle class std::vector>' | (std::vector const& c) |
这可以通过部分模板专业化来完成吗?
解决方案
推荐阅读
- angular - 如何解决 ENOENT:没有这样的文件或目录,在具有多个项目的工作区中使用 ngx-build-plus 打开“\package.json”?
- sql-server - T-SQL 处理自定义 XML
- python - 识别 P&F 图表中最后一列包含三个或更多“X”图的股票
- json - 获取问题:'_InternalLinkedHashMap
' 不是类型 'List 的子类型 ' - powershell - powershell中的quser语言独立解析
- cookies - 在第一次请求 API 服务器时注入 Cookie?
- c - 如何设计一个闰年到 Unix 时间转换器?
- apache - 我在安装在 aws 上的 xampp 中从 godaddy 安装 SSL 证书时遇到问题
- android - 为新行禁用自动大写
- c# - 检查线是否形成循环