Tworzenie makra za pomocą __LINE__ dla różnych nazw zmiennych [duplikat]

Możliwy duplikat:
Tworzenie makra C za pomocą ## iLINIA (konkatenacja tokena z makro pozycjonowania)

Próbuję użyć__LINE__ makro do generowania różnych nazw zmiennych. Mam klasę benchmarków o nazwie Benchmark (zlokalizowaną w przestrzeni nazw utils) i jej konstruktor pobiera ciąg znaków. Oto definicja makra, którą stworzyłem:

#define BENCHMARK_SCOPE utils::Benchmark bm##__LINE__(std::string(__FUNCTION__))

Niestety powoduje to następujący błąd:

<some_file_name>(59): error C2374: 'bm__LINE__' : redefinition; multiple initialization

To prowadzi mnie do wniosku__LINE__&nbsp;makra nie są rozszerzane. Stworzyłem mój macross zgodnie zten post. Czy masz pomysły, dlaczego__LINE__&nbsp;nie jest rozszerzany?

EDYTOWAĆ: prawdopodobnie informacje o kompilatorze są również odpowiednie. Używam visual studio 2010.