Erro do compilador C3858
'type': não pode ser redeclarado no escopo atual
O tipo não pode ser declarado duas vezes no mesmo escopo.
A amostra a seguir gera C3858:
// C3858.cpp
// compile with: /LD
template <class T>
struct Outer
{
struct Inner;
};
template <class T>
struct Outer<T>::Inner; // C3858
// try the following line instead
// struct Outer<T>::Inner{};