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.


Anmelden zum Antworten