Я создаю связанную структуру списка, и я не совсем уверен, как вызвать функцию, которая работает со связанным списком. Когда я пытаюсь вызвать функцию, мне говорят, что ее не существует, когда у меня уже есть конструктор по умолчанию в моей 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);
где я получаю ошибку, хотя prepend
является членом LL
.
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;
}
operator->