游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2728|回复: 6

疑问:类的模版成员一定要在类体内定义吗?

[复制链接]

20

主题

222

帖子

276

积分

中级会员

Rank: 3Rank: 3

积分
276
发表于 2007-9-30 10:25:00 | 显示全部楼层 |阅读模式
比如:
class C1
{
public:
       template<typename T>
       void Func1();      
};

这样?
void C2::template<typename T>Func1<T>()
{
/*。。。。。*/
}

还是这样?

template<typename T>
void C2::Func1<T>()
{
/*。。。。。*/
}
都不行啊……
[em7]

18

主题

82

帖子

86

积分

注册会员

Rank: 2

积分
86
发表于 2007-9-30 16:42:00 | 显示全部楼层

Re:疑问:类的模版成员一定要在类体内定义吗?

应该是这样:

template<typename T>
void C2<T>::Func1()
{
/*。。。。。*/
}

20

主题

222

帖子

276

积分

中级会员

Rank: 3Rank: 3

积分
276
 楼主| 发表于 2007-9-30 20:50:00 | 显示全部楼层

Re:疑问:类的模版成员一定要在类体内定义吗?

试了,不行啊!

20

主题

222

帖子

276

积分

中级会员

Rank: 3Rank: 3

积分
276
 楼主| 发表于 2007-9-30 21:20:00 | 显示全部楼层

Re:疑问:类的模版成员一定要在类体内定义吗?

解决了,要这样写

template<typename T>
void C2::Func1()
{
/*。。。。。*/
}

20

主题

222

帖子

276

积分

中级会员

Rank: 3Rank: 3

积分
276
 楼主| 发表于 2007-9-30 21:26:00 | 显示全部楼层

Re:疑问:类的模版成员一定要在类体内定义吗?

另外说说vc6模板成员,可以定义,却不能实例化,真的很叫人很火大,感觉vc6的模板支持跟win98差不多,整个就半成品

103

主题

1432

帖子

1458

积分

金牌会员

Rank: 6Rank: 6

积分
1458
QQ
发表于 2007-9-30 22:39:00 | 显示全部楼层

Re:疑问:类的模版成员一定要在类体内定义吗?


事实如此,但是现在已经是2007了,你要用vc6就要自我检讨了,不能埋怨。

14

主题

251

帖子

251

积分

中级会员

Rank: 3Rank: 3

积分
251
发表于 2007-10-7 04:36:00 | 显示全部楼层

Re:疑问:类的模版成员一定要在类体内定义吗?

VC6并不完全支持c++模板,VC第一个完全支持模板的版本是vc++2003
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-20 19:14

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表