Error del compilador C3218
"type": tipo no permitido como restricción
Para que un tipo sea una restricción, debe ser un tipo de valor o una referencia a una interfaz o clase administrada.
Ejemplo
El ejemplo siguiente genera el error C3218.
// C3218.cpp
// compile with: /clr /c
class A {};
ref class B {};
// Delete the following 3 lines to resolve.
generic <class T>
where T : A // C3218
ref class C {};
// OK
generic <class T>
where T : B
ref class D {};