社区
C++ 语言
帖子详情
模板问题
i_noname
2007-05-08 03:51:41
在类foo中有模板函数bar
class foo
{
template <class T>
void bar(T &);
}
要用普通的类对bar进行特化,可以写成
class a { ... }
template <>
foo::bar<a>(a &) { ... }
问题:如何用模板类b将bar特化?
template <class T>
class b { ... }
???
foo::bar<???>(???) { ... }
...全文
302
7
打赏
收藏
模板问题
在类foo中有模板函数bar class foo { template void bar(T &); } 要用普通的类对bar进行特化,可以写成 class a { ... } template foo::bar(a &) { ... } 问题:如何用模板类b将bar特化? template class b { ... } ??? foo::bar(???) { ... }
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
i_noname
2007-05-08
打赏
举报
回复
用函数重载解决了
taodm
2007-05-08
打赏
举报
回复
不能,你这个<>里的还是不确定类型,那么就是偏特化。
如果<>里的是确定类型,那么就是全特化。
模板函数成员不可以偏特化。
i_noname
2007-05-08
打赏
举报
回复
谢谢 yutaooo,简单类型和非模板类可以按这样来写。
但我更关心模板类能否实现相似的功能,例如
//以下代码无法编译
template<class T>
template<>
void test::bar<vector<T> >(vector<T> &) {
...
}
yutaooo
2007-05-08
打赏
举报
回复
要么这样 ?
// test3.cpp
// xp + vc-8_0
// cl -EHsc test3.cpp
#include <iostream>
class test {
public:
template <class T>
void bar(T &);
};
template<>
void test::bar<int>(int &) {
std::cout << "void test::bar<int>(int)" << std::endl;
}
int main() {
test t;
int i = 1;
t.bar(i);
return 0;
}
i_noname
2007-05-08
打赏
举报
回复
将b<T>整体作为bar的特化对象可以吗?
i_noname
2007-05-08
打赏
举报
回复
如何全特化?
taodm
2007-05-08
打赏
举报
回复
模板函数成员不可以偏特化。
要么全特化,要么用重载。
132套html模块 包含企业
模板
和后台
模板
html模块 包含企业
模板
和后台
模板
,样式多种多样,我们前台程序员开发的必备工具
HTML静态网页
模板
下载大全
HTML静态网页
模板
HTML静态网页
模板
HTML静态网页
模板
100个外国网站
模板
还在愁找不到合适的网站
模板
么?100个外国网站
模板
,总有一款适合你。真心好用
用户登陆注册
模板
html
比较简洁的用户登陆注册
模板
可以应用到jsp和asp中
19个网页后台
模板
网站后台
模板
,包含界面HTML和部份图片,供大家参考!
C++ 语言
65,186
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章