int x = 5, y = 7, z; z = MAX(x,y); // hier ist Macro Aufruf damit soll z=7; Warum was bedeutet die ? und die : zeichen -- Man kann ein Problem nicht mit der gleichen Denkweise lösen, mit der es erschaffen wurde. (Albert Einstein)
Wenn Du schon dabei bist... eine solche Macro-Definition ist in C++ überflüssig und nicht ohne Risiken. Wenn Du dem Macro allgemein einen Ausdruck als Operand übergibst, wird der mehrfach ausgewertet, was unter Umständen hässliche und schwer zu findende Bugs produziert.
Lieber std::max(a,b) benutzen ! -- Reden ist Schweigen und Silber ist Gold.