エラーが発生し続けます:
- 割り当ては、キャストなしでポインターから整数を作成します
次のコマンドを使用してハッシュ テーブル ADT をコンパイルしようとすると、次のようになります。
gcc hash_NEW.c -c
エラーは、より大きな .c ファイルの 1 つの関数で発生します。事前に助けてくれてありがとう
ここの行でエラー 1 が発生します (index = table->hash_func;)
void insert_hash(Phash_table table, char *key, void *data){
Phash_entry new; //pointer to a new node of type hash_entry
int index;
new = (Phash_entry)malloc(sizeof(hash_entry));
new->key = (char *)malloc(sizeof(char)*strlen(key)); //creates the key array based on the length of the string-based key
new->data = data; //stores the user's data into the node
strcpy(new->key,key); //copies the key into the node
//calling the hash function in the user's program
index = table->hash_func; //index will hold the hash table value for where the new
table->buckets[index] = new; //Assigns the pointer at the index value to the new node
table->total++; //increment the total (total # of buckets)
}
ヘッダファイルの一部:
typedef struct hash_table_ {
hash_entry **buckets; //Pointer to a pointer to a Linked List of type hash_entry
int (*hash_func)(char *);
int (*cmp_func)(void *, void *);
int size;
void **sorted_array; //Array used to sort each hash entry
int index;//=0
int total; //=0
int sort_num; //=0
} hash_table, *Phash_table;