Compartir a través de


Error del compilador C3185

'typeid' usado en un tipo ’type’ administrado o de WinRT; use 'operator' en su lugar

No se puede aplicar el operador typeid a un tipo administrado o de WinRT; use typeid en su lugar.

El ejemplo siguiente genera el error C3185 y muestra cómo corregirlo:

// C3185a.cpp
// compile with: /clr
ref class Base {};
ref class Derived : public Base {};

int main() {
   Derived ^ pd = gcnew Derived;
   Base ^pb = pd;
   const type_info & t1 = typeid(pb);   // C3185
   System::Type ^ MyType = Base::typeid;   // OK
};