當試圖將一個對象插入到一個table
(結構體)中時,我得到此消息,該結構體包含一個結構體類型爲ObjectLink
的數組。該結構:C++:' - >'的無效類型參數
typedef struct ObjectLink {
void *key;
struct Object *next;
} ObjectLink;
typedef struct Object {
void *key;
ObjectLink *top;
} Object;
typedef struct Table{
ObjectLink *linkedObjects;
int size, originalSize;
HashFcn hfun;
PrintFcn pfun;
ComparisonFcn fcomp;
} Table;
的代碼失敗(在所有的作業& if語句):
Boolean InsertObject(TableP table, ObjectP object)
{
int i = table->hfun(object, table->size);
if (table->linkedObjects[i]->key == NULL)
{
table->linkedObjects[i]->key = object;
} else
{
table->linkedObjects[i]->next->key = object;
}
return TRUE;
}
我搜索在previous questions,但沒有幫助。這裏有什麼問題?
那麼,爲什麼不是一個結構本身的表,而不是一個指針不會像這樣調用:table.linkedObjects [i] .key – Tom
@Tom'table'是類型'TableP',它沒有顯示在定義中;然而,'P'可能代表'指針'。 – dasblinkenlight