void g(char* x, int size) { int i;char v; for(i=1; i<size;++i){ v = x[i]; x[i] = v; } } ... char* x="abcd"; g(x,4); // hier der Fehler
wieso Speicherzugriffsfehler? Das Problem leigt an x [ i ] = v;
Wieso kann ich diese Zuweisung nicht machen? -- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth!Dieser Post wurde am 17.09.2003 um 21:31 Uhr von Pablo Yanez Trujillo editiert.
--> dosomestuff wird zuletzt bei i==size ausgeführt, daher ungültiger array-zugriff -- main($)??<-$<='?'>>2?main($-!!putchar( (("$;99M?GD??(??/x0d??/a:???;a"+'?'/4) ??($??)+'?'/3-2-1+$%2)??''?')):'?';??>Dieser Post wurde am 17.09.2003 um 22:25 Uhr von kronos editiert.
Spätestens in C++ ist es auch guter Stil, das Präinkrement zu benutzen, weil es bei überladenen ++-Operatoren idR. einen Copy-Konstruktor spart. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra
@pablo Weil Du exakt das gleiche Problem hast, wie in diesem Thread beschrieben -- Gruß, virtual Quote of the Month Ich eß' nur was ein Gesicht hat (Creme 21)
@virtual, danke. Stimmt, das gleiche Problem wieso bin ich nicht drauf gekommen -- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth!
oh, dann lag' ich mit meiner erklärung wohl ziemlich daneben. sorry, ich dachte wirklich, das wäre so. -- main($)??<-$<='?'>>2?main($-!!putchar( (("$;99M?GD??(??/x0d??/a:???;a"+'?'/4) ??($??)+'?'/3-2-1+$%2)??''?')):'?';??>