Creando macro usando __LINE__ para diferentes nombres de variables [duplicar]
Posible duplicado:
Creando macro C con ## yLÍNEA (concatenación de tokens con posicionamiento macro)
Estoy tratando de usar el__LINE__
Macro para generar diferentes nombres de variables. Tengo una clase de referencia de ámbito llamada Benchmark (ubicada en el espacio de nombres de utils) y su constructor toma una cadena. Aquí está la definición de macro que he creado:
<code>#define BENCHMARK_SCOPE utils::Benchmark bm##__LINE__(std::string(__FUNCTION__)) </code>
Desafortunadamente esto causa el siguiente error:
<some_file_name>(59): error C2374: 'bm__LINE__' : redefinition; multiple initialization
Esto me lleva a la conclusión del__LINE__
Las macros no se expanden. He creado mi macross segúnesta publicación. Tienes ideas por que__LINE__
no se expande?
EDITAR: probablemente la información del compilador también es relevante. Estoy usando visual studio 2010.