Compiler Error C3297

'constraint_2' : cannot use 'constraint_1' as a constraint because 'constraint_1' has the value constraint

Value classes are sealed. If a constraint is a value class, another constraint can never derive from it.

For more information, see Constraints on Generic Type Parameters (C++/CLI).

Example

The following sample generates C3297.

// C3297.cpp
// compile with: /clr /c
generic<class T, class U>
where T : value class
where U : T   // C3297
public ref struct R {};