Sto cercando di capire come scrivere una macro che passerà sia una rappresentazione letterale di stringa di un nome di variabile insieme alla variabile stessa in una funzione.Come utilizzare l'argomento Macro come stringa letterale?
Ad esempio, data la seguente funzione.
void do_something(string name, int val)
{
cout << name << ": " << val << endl;
}
vorrei scrivere una macro in modo che io possa fare questo:
int my_val = 5;
CALL_DO_SOMETHING(my_val);
Che sarebbe stampare: my_val: 5
ho provato a fare quanto segue:
#define CALL_DO_SOMETHING(VAR) do_something("VAR", VAR);
Tuttavia, come puoi immaginare, il VAR all'interno delle virgolette non viene sostituito, ma viene semplicemente passato come stringa letterale "VAR". Quindi mi piacerebbe sapere se c'è un modo per avere l'argomento macro trasformato in una stringa letterale stessa.
Come si sta cercando usare questo? – chris