我收到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不存在。
答案 0 :(得分:1)
hash是“std”命名空间中的内置模板。
尝试使用命名空间std删除; lien并在需要时使用命名空间名称。