首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

STL模板特化遇到的有关问题

2013-09-05 
STL模板特化遇到的问题typdef 类型 类型名此语句说明只定义了一个数据类型的新名字而不是定义一种新的数据

STL模板特化遇到的问题
typdef 类型 类型名
此语句说明只定义了一个数据类型的新名字而不是定义一种新的数据类型
typdef typename 类型 类型名
加上typename说明定义了一种新的数据类型。

在程序中有如下代码
template<class T>
class CApply
{
public:

    //typedef NumTraits<T>::resulttype result;   
    //typedef NumTraits<T>::inputpara input;

    //typedef typename NumTraits<T>::resulttype result;
    //typedef typename NumTraits<T>::inputpara input;
    result GetSum(T& obj,input in)
    {
        return obj.GetSum(in);
    }

};

使用前两条注释语句的话VC6.0编译通过,高版本的VS编译器不通过,原因是缺少类型说明符,这是VS更加严格严格和规范的缘故吧。使用后两行注释即可指明result和input为新的数据类型。

热点排行