This documentation is archived and is not being maintained.

Compiler Warning (level 1) C4688

Error Message

'constraint': constraint list contains assembly private type 'type'

A constraint list has an assembly private type, meaning it will not be available when the type is accessed from outside the assembly. For more information, see Generics (Visual C++).


The following sample generates C4688.

// C4688.cpp
// compile with: /clr /c /W1
ref struct A {};   // private type
public ref struct B {};

// Delete the following 3 lines to resolve.
generic <class T> 
where T : A   // C4688
public ref struct M {};

generic <class T> 
where T : B
public ref struct N {};