C++ 模板的专门化<;T级>;模板的定义<;T级>; 名称空间std{ 模板 类散列{ 公众: 大小运算符() { 返回k.m_hashval; } }; };

C++ 模板的专门化<;T级>;模板的定义<;T级>; 名称空间std{ 模板 类散列{ 公众: 大小运算符() { 返回k.m_hashval; } }; };,c++,C++,我知道我需要在某处添加名称空间。但我不知道去哪里,怎么去。我对这个很陌生 错误消息:“模板结构std::tr1::hash”在不同命名空间中的专门化 ?/?/gcc/V4.1.2/bin//lib/gcc/sparc-sun-solaris2.10/4.1.2/../../../../../../include/c++/4.1.2/tr1/functional1:1101:错误:来自“模板结构std:tr1::hash”的定义 在模板声明周围,但在std名称空间内添加名称空间tr1。在模板声明周

我知道我需要在某处添加名称空间。但我不知道去哪里,怎么去。我对这个很陌生

错误消息:“模板结构std::tr1::hash”在不同命名空间中的专门化 ?/?/gcc/V4.1.2/bin//lib/gcc/sparc-sun-solaris2.10/4.1.2/../../../../../../include/c++/4.1.2/tr1/functional1:1101:错误:来自“模板结构std:tr1::hash”的定义



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

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

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

在模板声明周围添加一个
名称空间tr1
,但在std名称空间内。

一个是
std::tr1
,一个是
std
升级编译器,我无法升级。这是学校的电脑一台是std::tr1,一台是std升级你的编译器我不能。这是学校的电脑一台是std::tr1,一台是std升级你的编译器我不能。这是学校的电脑一台是std::tr1,一台是std升级你的编译器我不能。这是学校的电脑在std之后的一行写上“namespace tr1{”,然后在std结束之前结束?这很有效!非常感谢。我在谷歌上搜索了2个小时。所以把它写成“namespace tr1{”在std之后的行中,并在std结束之前结束?非常感谢。我已经在谷歌上搜索了2个小时。所以在std之后的行中放置“namespace tr1{”,并在std结束之前结束?非常有效!非常感谢。我已经在谷歌上搜索了2个小时。所以将其放置为“namespace tr1{”在性病之后排队,然后在性病结束之前结束?这很有效!非常感谢。我已经在谷歌上搜索了2个小时。
namespace std {

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