das mit ausschließlich char* wird trotzdem nicht klappen, und im Originalbeispiel wird ja auch mit einem const string initialisiert, wodurch Speicher reserviert wird (so lang wie der string plus \0):
char* str = "This is GeeksForGeeks";
dies entspricht in etwa
char str[22];
strcpy(str, "This is GeeksForGeeks\0");
ohne dies musst du mem allozieren, sonst schreibst du ins Nirwana.
Bei deinem Code funktioniert es (scheinbar) trotzdem, weil du hier Pointer auf Speicheradressen einander zuweist und keine kompletten arrays kopierst. Das geht, würde ich aber nicht so machen, weil es gefährlich sein kann, sobald du andere "echte" cstrings kopierst. Schlimmstenfalls zerschießt du dir damit deine FW, und das ist genau die Art von Fehlern, die ich hier angesprochen habe: https://www.roboternetz.de/community...l=1#post659541
Dennoch bleibt für mich völlig unklar, wann und wo du in deinem Code die Funktion
void ServiceName(char *name)
irgendwo überhaupt jemals mit einem cstring als Argument aufrufst...?
Lesezeichen