Fazendo algo tanto um identificador de C e uma string?
Digamos que você queira gerar uma lista de identificadores e strings correspondentes
enum
{
NAME_ONE,
NAME_TWO,
NAME_THREE
};
myFunction(NAME_ONE, "NAME_ONE");
myFunction(NAME_TWO, "NAME_TWO");
myFunction(NAME_THREE, "NAME_THREE");
..não se repetindo, e sem gerar automaticamente o código, usando macros C / C ++
Palpite inicial:
Você pode adicionar um arquivo #include contendo
myDefine(NAME_ONE)
myDefine(NAME_TWO)
myDefine(NAME_THREE)
Então use duas vezes como:
#define myDefine(a) a,
enum {
#include "definitions"
}
#undef myDefine
#define myDefine(a) myFunc(a, "a");
#include "definitions"
#undef myDefine
mas o #define não deixa você colocar parâmetros dentro de uma string?