Macro anpassen
-
Das Makro ist reiner Textersatz.
Aus deinem Eröffnungspost:
#define swap(t,x,y) { t_z; \ _z = x;\ y = _z; }
Dann wird aus swap(char, x, y);
{ char_z; // ob das der Compiler mag? _z = x; y = _z;} // und wo bekommt x einen neuen Wert?
Eigentlich ganz einfach.
Richtig wäre der Code so
{ char _z; // Ist zumindest eine Definition _z = x; x = y; // und hierbekommt x einen neuen Wert y = _z;}
Die Unterschiede solltest du in das Makro einarbeiten können.