Compiler Error C3868


The new home for Visual Studio documentation is Visual Studio 2017 Documentation on

The latest version of this topic can be found at Compiler Error C3868.

type': constraints on generic parameter 'parameter' differ from those on the declaration

Multiple declarations must have the same generic constraints. For more information, see Generics.

The following sample generates C3868.

// C3868.cpp  
// compile with: /clr /c  
interface struct I1;  
generic <typename T> ref struct MyStruct;  
generic <typename U> where U : I1 ref struct MyStruct;   // C3868  
// OK  
generic <typename T> ref struct MyStruct2;  
generic <typename U> ref struct MyStruct2;  
generic <typename T> where T : I1 ref struct MyStruct3;  
generic <typename U> where U : I1 ref struct MyStruct3;