구조체 유형 ObjectLink
의 배열을 보유하는 table
(구조체)에 객체를 삽입하려고하면이 메시지가 나타납니다. 구조체 :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;
코드 (모든 할당 & 문 경우에) 실패 :
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