0

私は次の構造体を定義しています:

typedef struct PList{
    Person person;
    struct PList *nextPerson;  //  set to NULL by default <<<<<
}PList;

そしてこの方法:

int length(struct PList* db){
    PList* cur = db;
    int size = 0;
    while (cur != NULL){
    ++size;
    cur = cur->nextPerson;
}
    return size;
}

エラー:'length'の競合するタイプが、lengthメソッドのシグニチャーでスローされています。

何か案は?

4

1 に答える 1

2

これは実際にはlength、ソース コード構造の別の場所で、別の関数シグネチャを持つ別の関数/宣言が呼び出されていることを意味します。

関数が定義されている場所を見つけlength()て、その関数に正しい構造体オブジェクトを渡します (タイプstruct PListまたはのいずれかPList*)

于 2012-11-28T16:34:36.023 に答える