函数模板、类模板中使用template的问题

请教个模板的问题在使用类模板和函数模板的时候template关键字应使用多少次?#include<iostream>usingnamespacestd;template<... 请教个模板的问题
在使用类模板和函数模板的时候template关键字应使用多少次?
#include<iostream>
using namespace std;
template<class T>

class Num
{
};
T MaxT(T a,T b)
{
return a+b;
}
int main()
{
cout<<MaxT(10,20)<<endl
<<MaxT(10.3,20.5)<<endl;
return 0;
}

这样会报错,但是把class Num放下去之后就不报错为什么
#include<iostream>
using namespace std;
template<class T>

T MaxT(T a,T b)
{
return a+b;
}
class Num
{
};
展开
 我来答
JINLegend
2013-09-07 · TA获得超过802个赞
知道小有建树答主
回答量:241
采纳率:100%
帮助的人:127万
展开全部

你就这样记着,template从他后面第一个左花括号,管到这个左花括号对应的右花括号为止。

template<class T>
class Num
{
    ……//不管这个类有多少个成员,有多少个带T或不带T的成员。
 };//template管到这里为止。
 T MaxT(T a,T b)//从这里开始,没人管,于是就会出现未定义的“T”
 {
     return a+b;
 }

而这里:

template<class T>
T MaxT(T a,T b)
{
    return a+b;
}//template管到这里结束。
class Num//从这里开始虽然没有template管,但是class Num里面根本没有涉及任何T参数,自然就没有错。
{
};
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式