0

我正在构建一个链表结构,但我不完全确定如何调用一个与链表一起工作的函数。当我尝试调用一个函数时,当我的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 回答