0

リンク リスト構造体を作成していますが、リンク リストで機能する関数を呼び出す方法がよくわかりません。関数を呼び出そうとすると、既に既定のコンストラクターが .xml にあるのに、関数が存在しないと言われますstruct LL

#include <iostream>

struct Node {
    int data;
    Node* next;
};
struct LL {
    Node* head;
    void prepend(int data);
};
void LL::prepend(int data) {
    Node* temp = new Node();
    temp -> data = data;
    temp -> next = head;
    head = temp;
}
int main() {
    struct LL::prepend(3);
    return 0;
}

私のmain関数では、のメンバーでstruct LL::prepend(3);あっても、エラーが発生する場所です。prependLL

4

1 に答える 1

0

LL::prependは の静的メンバー関数ではありませんstruct LL。オブジェクトを介して呼び出す必要があります

int main() {
    LL ll;         // create LL object
    ll.prepend(3); // call ll object member function
    return 0;
}

または、ポインターを使用する場合(ポインターの使用方法のサンプルのみ)

int main() {
    LL *ll = new LL();         // create LL object
    ll->prepend(3); // call ll object member function
    delete ll;
    return 0;
}
于 2013-10-10T00:54:57.767 に答える