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编译不通过```书上代码````这样参数是否可行?
书上说这样是可以的```但编译却出错```郁闷```有人懂吗?帮忙下 展开
{
t1 a;
public:
cc()
{
cout<<"55"<<endl;
cout<<sizeof(a)<<endl;
}
};
问题是这个类模板参数<class t1*>这样是不是正确的呢?为什么呢?
请教下高手,上面代码我在VC6和VC2010编译不通过```书上代码````这样参数是否可行?
书上说这样是可以的```但编译却出错```郁闷```有人懂吗?帮忙下 展开
3个回答
展开全部
书上的代码可能有问题
template <class t1*> class cc
这姿唯个应该是数慎
template <class t1> class cc
如果需要指针
你就在成员变量里写成指针就好了 t1* a;
这样薯册敬你比如定义一类 cc<char> _t;
那么 a就是 char* 类型。
template <class t1*> class cc
这姿唯个应该是数慎
template <class t1> class cc
如果需要指针
你就在成员变量里写成指针就好了 t1* a;
这样薯册敬你比如定义一类 cc<char> _t;
那么 a就是 char* 类型。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如:下面程序,将蔽孝参数使用轿并陆模板参数,可以传递不同的数据类型:
---------------------------------
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;
}
---------------------------------
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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询