Konvertierungsprobleme
-
hi leute!
ich hab da mal ein problem: und zwar meldet er mir dass er char nicht in person* umwandeln kann. warum!??!
genaue fehlermeldung: error C2440: '=': 'char *' kann nicht in 'person *' konvertiert werdendanke für eure Hilfe!
#define _CRT_SECURE_NO_DEPRECATE #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct person{ char *name; struct person *next; }Person; void einfuegen (Person **p, char *name){ Person *zeiger; while (*p != NULL && strcmp((*p)->name, name) <= 0) p = &((*p)->next); zeiger =*p; *p = (Person *)malloc(sizeof(Person)); (*p)->name = (char *)malloc(sizeof(strlen(name)+1)); strcpy((*p)->name, name); (*p)->next = zeiger; } void drucke (Person *liste){ while (liste!= NULL){ printf("%s\n", liste->name); liste = liste->name; } printf("\n"); } void main(void){ Person p1 = {"Weigl", NULL}; Person p2 = {"Schmitt", &p1}; Person p3 = {"Messing", &p2}; Person p4 = {"Schymala", &p3}; Person *liste = NULL; drucke(liste); einfuegen(&liste, "Meier"); drucke (liste); }
-
Spliffy85 schrieb:
liste = liste->name;
muss doch 'liste->next' sein, oder?
-
liste = liste->next;
-
merci