'identifier' : cannot specialize a template-class with a reference to a local-extern
A template specialization uses the address of a variable or function whose first declaration occurs in a local extern context.
Example
template<int* p> class X {}; void func () { extern int i; X<&i> object; // error }