Я хотел бы реализовать пример хеш-таблицы. Итак, для этой цели я создал один заголовок, один файл hash.cpp и main.cpp. в моем hash.cpp, я попытался запустить фиктивную хэш-функцию, которая принимает ключевое значение и превращается в значение индекса. однако он выдает ошибку (ссылка на «хэш» неоднозначна) всякий раз, когда я пытаюсь создать объект в соответствии с этим хэш-классом.Ссылка на «класс» является неопределенной
это мой main.cpp:
#include "hash.h"
#include <iostream>
#include <cstdlib>
#include <string>
#include <stdio.h>
using namespace std;
int main(int argc, const char * argv[]) {
hash hash_object;
int index;
index=hash_object.hash("patrickkluivert");
cout<<"index="<<index<<endl;
return 0;
}
это мой hash.cpp:
#include "hash.h"
#include <iostream>
#include <cstdlib>
#include <string>
#include <stdio.h>
using namespace std;
int hash(string key){
int hash=0;
int index;
index=key.length();
return index;
}
это мой hash.h
#include <stdio.h>
#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;
#ifndef __hashtable__hash__
#define __hashtable__hash__
class hash
{
public:
int Hash(string key);
};
#endif /* defined(__hashtable__hash__) */
Будьте осторожны с использованием пространства имен std; '. –