所以我通過調用一個函數訓練,作爲輸入3打開文件,並返回一個哈希表指針,並在主要分配給hash_table_t hashtable
在main()
作出哈希表。然而,當我嘗試將作爲主指針傳遞給read_query(*hashtable, query)
時,我的問題依然存在,因爲我首先沒有將它初始化爲指針。C哈希表指針錯誤
int main()
{
int size
FILE *D1 = fopen(fileLoc, "r");
FILE *D2 = fopen(fileLoc, "r");
FILE *D3 = fopen(fileLoc, "r");
FILE *query = fopen(fileLoc, "w");
...
hash_table_t hashtable = training(D1, D2, D3, size);
...
read_query(*hashtable, query);
}
hash_table_t training (D1, D2, D3, size)
{
hash_table_t *hashtable = create_new_hashtable(size);
....
return *hashtable;
}
所以我的問題是,你怎麼能重鑄,這不是第一次初始化爲指針的結構,因爲只調用主洪水我的錯誤控制檯,具體...
c:267:20: error: invalid type argument of unary _*_ (have _hash_table_t_) read_query(*hashtable, query);
函數'training'應該是返回指針。例如'hash_table_t *訓練(D1,D2,D3,size){...返回hashtable;',在主'hash_table_t * hashtable =訓練(D1,D2,D3,size);' – BLUEPIXY 2014-11-23 15:59:04