C++ 没有与指定类型匹配的函数模板实例
C++ No instance of function template matches speciefied type
>我有模板:
template <typename T>
T func(const T[],int);
我尝试将其专门用于:
template <> char* func(const char[], int);
但我有一个错误:
没有函数模板"func"的实例与指定类型匹配
我不知道为什么我不能用这个模板返回 char*?唯一的解决方案是更改为:
template <typename T>
T* func(const T[],int);
你声明你的专业是错误的:
template <>
char func<char>(const char[], int)
如果你打算返回一个指针,你已经自己解决了它,需要将一般情况更改为T*
T
仅指一个typename
,不包括限定符 - 如果你愿意,你的函数也可以返回T &
。 T
只是对象的类型/名称(typename
!)。
相关文章:
- 函数模板实例化、替换和重载解析的顺序是什么?
- 请参阅在 Visual Studio 2019 中捕获 std::exception 时对函数模板实例化消息的引用
- 函数模板实例化的 sfinae
- 如何简洁地编写大量显式函数模板实例化?
- 无法编译包含"if constexpr"的函数模板实例化
- CUDA 模板错误:没有与参数列表匹配的函数模板实例
- 合格的朋友函数模板实例化
- 没有与参数列表匹配"std::make_pair"函数模板实例
- 没有函数模板实例remove_if与参数列表匹配
- C++ 没有与指定类型匹配的函数模板实例
- 函数模板实例化失败
- 使用不完整类型的函数模板实例化
- C++ 具有隐式参数的函数模板实例化
- 定义指向函数模板实例的std::函数指针时出错,该实例是模板化类的成员
- 声明不带模板的函数模板实例化
- 没有与指定类型匹配的函数模板实例
- 类和函数模板实例化的Visual Studio dll导出问题
- 关于函数模板实例化的c++规则
- C++错误:"没有与所需类型匹配的函数模板实例"
- 在多个翻译单元中函数模板实例化的标识