'symbol' : explicit instantiation; cannot use 'auto' and 'extern' on the same template-class specialization
A template class was instantiated more than once, once using the extern storage-class specifier and once without.
If you must duplicate an instantiation of a template class, make sure that you use the same storage-class specifier for each declaration.
The following code generates this error:
template <class T> class X {};
extern template X<int>;
template X<int>; // error