Compiler Warning (level 3) C4231

nonstandard extension used : 'identifier' before template explicit instantiation

When Microsoft extensions are enabled (/Ze), an extern template can be instantiated, generating this warning. Otherwise, this will cause an error.

The following example causes this warning:

template<class T, int i> class MyStack {};
extern template MyStack< int, 4>;