'symbol' : explicit instantiation; cannot use 'auto' and 'extern' on the same template-class specialization
A template class is instantiated once using the extern storage-class specifier and once without. If you instantiate a template class more than once, you must use the same storage-class specifier for each declaration.
Example
template <class T> class X {}; extern template X<int>; template X<int>; // error