Error del compilador C3858
"type": no se puede declarar de nuevo en el ámbito actual
El tipo no se puede declarar dos veces en el mismo ámbito.
El ejemplo siguiente genera 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{};