c++类模板参数问题

template<classt1*>classcc{t1a;public:cc(){cout<<"55"<<endl;cout<<sizeof(a)<<endl;}};问... template <class t1*> class cc
{
t1 a;
public:
cc()
{
cout<<"55"<<endl;
cout<<sizeof(a)<<endl;
}
};
问题是这个类模板参数<class t1*>这样是不是正确的呢?为什么呢?
请教下高手,上面代码我在VC6和VC2010编译不通过```书上代码````这样参数是否可行?
书上说这样是可以的```但编译却出错```郁闷```有人懂吗?帮忙下
展开
 我来答
jdq_37
2010-12-31 · TA获得超过996个赞
知道小有建树答主
回答量:658
采纳率:0%
帮助的人:952万
展开全部
不正确.
书上的代码也有错的激岩山时候,多为手误.
具体解明中释如下:
class 后面跟的是这个模板的参数的名字,参数名字是一个标识符枣顷,在C/C++中,标识符允许使用的字符只有字母数字和下划线,星号肯定错误!
楼主参考.
liyuaq
2010-12-31 · TA获得超过114个赞
知道小有建树答主
回答量:118
采纳率:0%
帮助的人:104万
展开全部
书上的代码可能有问题
template <class t1*> class cc
这姿唯个应该是数慎
template <class t1> class cc
如果需要指针
你就在成员变量里写成指针就好了 t1* a;
这样薯册敬你比如定义一类 cc<char> _t;
那么 a就是 char* 类型。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nikvaa
2011-01-01 · TA获得超过760个赞
知道答主
回答量:354
采纳率:100%
帮助的人:250万
展开全部
如:下面程序,将蔽孝参数使用轿并陆模板参数,可以传递不同的数据类型:
---------------------------------
template <class T>闭顷
void OutPutPointerSize( T pParam)
{
printf("数据占用内存空间为:[%d]字节\n",sizeof(pParam));
}

int main(void)
{
char ch = 'a';
int iN = 5;

OutPutPointerSize(ch);
OutPutPointerSize(iN);

getchar();
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式