Compiler Error C3181

'type' : invalid operand for operator

An invalid parameter was passed to the typeid operator. The parameter must be a managed type.

Note that the compiler uses aliases for native types that map to types in the common language runtime.

The following sample generates C3181:

// C3181a.cpp
// compile with: /clr
using namespace System;

int main() {
   Type ^pType1 = interior_ptr<int>::typeid;   // C3181
   Type ^pType2 = int::typeid;   // OK