C++ 没有与指定类型匹配的函数模板实例

C++ No instance of function template matches speciefied type

本文关键字:函数模板 实例 类型 C++      更新时间:2023-10-16

>我有模板:

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!)。