你就这样记着,template从他后面第一个左花括号,管到这个左花括号对应的右花括号为止。
template
class Num
{
……//不管这个类有多少个成员,有多少个带T或不带T的成员。
};//template管到这里为止。
T MaxT(T a,T b)//从这里开始,没人管,于是就会出现未定义的“T”
{
return a+b;
}
而这里:
template
T MaxT(T a,T b)
{
return a+b;
}//template管到这里结束。
class Num//从这里开始虽然没有template管,但是class Num里面根本没有涉及任何T参数,自然就没有错。
{
};