Compiler Error C2891

'identifier' : cannot take the address of a template parameter

A template parameter is not a real variable so you cannot take its address.

An example of how of this error message would be to define a template in a global namespace:

template<int n>
class X {
public:
   void mf() {
      int *pI = &n;   // Error: cannot take the address of a template parameter
   }
};

and then call the mf function:

X<10> x;
x.mf();