模板的专业化<class t =“”>模板的定义<class t =“”> </class> </class>

时间:2014-03-20 10:25:47

标签: c++

namespace std {

    template <> 
    class hash<nGram>{
        public :
            size_t operator()( const nGram &k ) const
            {
                return k.m_hashval;
            }
    };
};

我知道我需要在某个地方添加命名空间。我不知道在哪里或如何。我对此很新。

  

错误消息:&#39;模板struct std :: tr1 :: hash&#39;的特化在不同的命名空间   ?/?/ GCC / V4.1.2 / bin中/../ lib中/ GCC / Sun SPARC的-solaris2.10 / 4.1.2 /../../../../包括/ C ++ / 4.1.2 / tr1 / functional1:1101:错误:来自&#39;模板struct std的定义:tr1 :: hash&#39;

1 个答案:

答案 0 :(得分:3)

在模板声明周围添加namespace tr1,但在std命名空间内。