显式专用化;“”不是函数模板的专用化问题

taiyangyukeke 2014-05-17 10:28:42
定义如下:
template<> inline bool IsNull(const Date& d) { return d.year == -32768; }


显示错误:
error C2912: 显式专用化;“bool Upp::IsNull(const Upp::Date &)”不是函数模板的专用化

不知道什么情况啊,哪位大神帮帮忙~~~
...全文
2999 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
taiyangyukeke 2014-05-19
  • 打赏
  • 举报
回复
直接重载没错了,感谢各位好心人~~~就是不太明白原因。。。
mujiok2003 2014-05-19
  • 打赏
  • 举报
回复
直接重载就好了,不需要特化。
/*template<>*/ inline bool  IsNull(const Date& d)    { return d.year == -32768; }
idzeta 2014-05-19
  • 打赏
  • 举报
回复
template<class T> bool IsNull(const T &x) { return x.IsNullInstance(); }
的“显式专用化”按格式应当这样写:
template<> bool IsNull<Date>(const Date &d) { return d.year == -32768; }
但建议的做法是直接“重载”:
inline bool IsNull(const Date &d) { return d.year == -32768; }
rmaly 2014-05-19
  • 打赏
  • 举报
回复
“bool Upp::IsNull(const Upp::Date &)是类Upp的成员函数?
taiyangyukeke 2014-05-19
  • 打赏
  • 举报
回复
有定义过: template <class T> bool IsNull(const T& x) { return x.IsNullInstance(); } 就是这个定义在另一个头文件里面,不过include这个头文件也不行啊~~
ri_aje 2014-05-17
  • 打赏
  • 举报
回复
好像说的是 IsNull 不是函数模板。

65,182

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧