Hola,
Cita:
Iniciado por davidtadeo a ok muchas gracias muy util tu informacion, y como el mensaje que deje arriba con el operador ## para preprocesador, tienes alguna respuesta???? gracias
Si, que no lo estas usando correctamente. Su objetivo no es concatenar cadenas, sirve solamente para separar tokens que de otra forma tendrían un significado diferente.
Posiblemente así está mas claro:
http://es.wikipedia.org/wiki/Preprocesador_de_C
No es lo mismo "element##id" que "elementid", de otra forma no se podría hacer la substitución de macros (element, id) en el momento de pre-procesar el código para producir el código intermedio del compilador.
En base a ese ejemplo que mostraste es evidente que no has comprendido que es la 'substitución de macros' con #define. Busca un buen tutorial al respecto.
Saludos,