Поделиться через


Ошибка компилятора C3185

typeid используется для управляемого типа или типа WinRT "type", вместо этого используйте operator

Замечания

Оператор typeid нельзя применить к управляемому или типу WinRT. Вместо этого используйте typeid.

Example

В следующем примере создается C3185 и показано, как исправить его:

// 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
}