Hej, muszę wstawić element do zbioru, i wyskakuje mi błąd w mainie przy inicjalizacji a i b: "nie można konwertować z node* na node."
I jeszcze przy wywołaniu funkcji nodelista = wstaw(b, 2); "nie można dokonać konwersji argumentu z node do node.
Mógłby ktoś wytłumaczyć czemu tak ?
#include <iostream>
#include <cstdlib>
using namespace std;
struct node {
int w;
node * next;
};
node* wstaw(node* zbior, int element) {
node* r;
node * prev;
r = zbior;
prev = NULL;
while (r != NULL && r->w < element) {
prev = r;
r = r->next;
}
//element = 5, lista: 1 2 3 4 6 7 9 prev = 4, r = 6 KONIEC
//w przypadku gdy element jest już zawarty w zbiorze
if (r != NULL && r->w == element) {
return 0;
}
//dodawanie elementu
node *nowy = new node;
nowy->w = element;
nowy->next = r;
}
int main() {
node a = new node;
a.w = 3;
node b = new node;
b.w = 1;
b.next = &a;
node*lista = wstaw(b, 2);
system("pause");
return 0;
}