c++ - language - macros en c
Expand definir macro con macro include (2)
Como han señalado otros, no se puede producir una directiva a partir de una macro.
Sin embargo, puede producir el argumento a una directiva desde una macro:
#define INCF(F) INCF_(F)
#define INCF_(F) #F
#define BAR foo.h
#include INCF(BAR) // same as #include "foo.h"
Pero no puede deshacerse de ese #include
explícito, o insertarlo en el medio de una línea diferente, o algo por el estilo.
Estoy tratando de definir una macro. La idea es que cuando se expanda, incluya un encabezado. Por ejemplo:
#define function() /
include <CustomHeader.h>
Muchas gracias.
Esto no se puede hacer.
La secuencia del token de preprocesamiento completamente macro reemplazado resultante no se procesa como una directiva de preproceso, incluso si se parece a uno, [...]
Esa cita en particular proviene de un borrador razonablemente reciente del estándar C ++, pero con cambios menores en la redacción, la misma idea básica ha existido casi para siempre.