1

わからないエラーが出ます。構造体のインスタンスを定義しようとしています。コードでこれを数回行いますが、毎回同じエラーが発生します。何が間違っているのかわかりません。

構造定義:

 struct hashLink {
      KeyType key; /*the key is what you use to look up a hashLink*/
      ValueType value; /*the value stored with the hashLink, a pointer to int in the case of concordance*/
      struct hashLink * next; /*notice how these are like linked list nodes*/
};
typedef struct hashLink hashLink;

コードで呼び出します (一例):

hashLink *temp = malloc(sizeof hashLink);
hashLink *temp2 = malloc(sizeof hashLink);

私が得る正確なエラーは次のとおりです。

 C:\Users\Marshall\C\CS261\hashMap.c||In function '_freeMap':|
 C:\Users\Marshall\C\CS261\hashMap.c|73|error: expected expression before 'hashLink'|
 C:\Users\Marshall\C\CS261\hashMap.c|74|error: expected expression before 'hashLink'|
4

1 に答える 1

3

sizeof hashLink--->sizeof(hashLink)

型で使用する場合、演算子sizeofには括弧が必要です。

于 2013-08-26T00:24:05.717 に答える