未定义的头文件函数引用

时间:2014-03-21 10:24:02

标签: c++ hash reference header-files

我收到C:\temp\hashTableProject\main.cpp|14|未定义的hash::Hash(std::string)引用错误 有谁知道如何解决这个问题?

hash.h

#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;

#ifndef HASH_H
#define HASH_H

class hash{
public:

    int Hash(string key);
};

#endif // HASH_H

hash.cpp

#include <iostream>
#include <cstdlib>
#include <string>

#include "hash.h"

using namespace std;


int hash::Hash(string key){

    //int hash = 0;
    int index;
    index = key.length();

    return index;
}

的main.cpp

#include <iostream>
#include <cstdlib>
#include <string>

#include "hash.h"

using namespace std;

int main()
{
    int index;
    hash hashOb;
    string traget = "Testing";
    index = hashOb.Hash(traget);

    cout << index << endl;

    return 0;
}

我正在使用CodeBlock 13.12 obj文件夹中只有main.o文件。我不知道为什么hash.o不存在。

1 个答案:

答案 0 :(得分:1)

hash是“std”命名空间中的内置模板。

尝试使用命名空间std删除; lien并在需要时使用命名空间名称。