Compiler Error C2904

'identifier' : name already used for a template in the current scope

Check the code for duplicate names.

The following sample generates C2904:

// C2904.cpp
// compile with: /c
void X();  // X is declared as a function
template<class T> class X{};  // C2904