C++ C+中的模板类+;

C++ C+中的模板类+;,c++,templates,vector,C++,Templates,Vector,下面是我的代码。我正在使用GNUG++编译器。我在函数'int main()'中得到错误“main.cpp: main.cpp:12:9:错误:“类哈希”没有名为“printVectorContents”的成员 我知道我忽略了一些愚蠢的事情,我就是不能把我的手指放在上面。有什么帮助吗 int main() { std::cout << "Yeah you did dat"<<std::endl; hash<int> newHash; n

下面是我的代码。我正在使用GNUG++编译器。我在函数'int main()'中得到错误“main.cpp: main.cpp:12:9:错误:“类哈希”没有名为“printVectorContents”的成员

我知道我忽略了一些愚蠢的事情,我就是不能把我的手指放在上面。有什么帮助吗

int main()
{
    std::cout << "Yeah you did dat"<<std::endl;
    hash<int> newHash;
    newHash.printVectorContents();
    std::cin.get();
    return 0;
}
intmain()
{
标准::cout
  • hash
    是一个通用名称,请将其设置为
    myhash
    等,或者将其放置到自己的命名空间中以避免名称冲突

  • 删除
    hash(){}
    。您已经有一个构造函数使用默认参数,当您声明
    hash myhash;
    时,它不知道要调用哪个构造函数

  • 更改
    i
    
  • hash
    是一个通用名称,请将其设置为
    myhash
    等,或者将其放置到自己的命名空间中以避免名称冲突

  • 删除
    hash(){}
    。您已经有一个构造函数使用默认参数,当您声明
    hash myhash;
    时,它不知道要调用哪个构造函数


  • <> L> >代码> >可能是<代码> hash 是指“代码> STD::hash < /Corp >而不是你的类模板?因为你没有显示完整的翻译单元,很难说你的翻译单元中有什么。你使用的是什么编译器?看起来,它看起来像19XX年的Borland Turbo C++ 3。你的代码有几个O。现代编译器发现的其他错误。您确定printVectorContents()中没有出现错误吗?例如,在"i@DietmarK下次我一定不会冒犯你,哦,伟大的,强大的C++神的神秘堆栈溢出。我将确保牺牲我的第一个出生在你的名字为我的侵犯今天。显然你是绝对正确的,我应该受苦。@托尔斯滕我正在使用GNU G+ +编译器与墙。这正是我从学术界。我意识到我实现的模板类是错误的。你在哪里看到了什么类型的错误?有没有可能
    hash
    指的是
    std::hash
    ,而不是你的类模板?因为你显然没有显示完整的翻译单元,所以很难说你在翻译单元中得到了什么。你使用的是什么编译器?看起来,它看起来很像就像19XX年Borland Turbo C++ 3一样。你的代码有几个其他的错误被现代编译程序发现。你确定你也没有在PrimtVCortCorpTeX()中出错吗?"i@DietmarK下次我一定不会冒犯你,哦,伟大的,强大的C++神的神秘堆栈溢出。我将确保牺牲我的第一个出生在你的名字为我的侵犯今天。显然你是绝对正确的,我应该受苦。@托尔斯滕我正在使用GNU G+ +编译器与墙。这正是我从学术界。我正在执行我的模板类错误。你看到什么类型的错误?这些都是我需要改变的。谢谢。虽然它们没有修复我原来的错误。我开始意识到我有一个标题文件和一个模板类的CPP文件,这是错误的。这是造成我的大多数问题。我现在回到C++从D。C++一段时间,我有一点冒险尝试做太多的事情,这些都是我需要改变的谢谢。虽然他们没有修复我原来的错误。我开始意识到我有一个标题文件和一个模板类的CPP文件,这是错误的。这是造成我的大多数问题。我现在回到C++从在C#上了一段时间,我有点冒险,试图一次做太多的事情。
    template <class dataTypeClass> class hash{
    private:
        std::vector <dataTypeClass> hashVector;
        std::string mName;
    public:
        hash(){}
        hash(std::string aName = "unnamedHash"):mName(aName),hashVector(100,NULL){}
        ~hash(){std::cout<<"Hash "<<mName<<"destructing!";}
        void addHashItem(dataTypeClass aHashItem, std::string akey){}
        int hashFunction(dataTypeClass hashItem){return 0;}
        void printVectorContents()
        {
            for (typename std::vector<dataTypeClass>::iterator i = hashVector.begin(); i<hashVector.rend(); i++)
            {
                std::cout<< *i << std::endl;
            }
        }
    };