You can use '#' sign to get exact name of an argument passed to a macro: #define what_is(x) cerr << #x << " is " << x << endl; int variable = 376; what_is(variable); // prints "variable is 376"