Compiler Error C3816

 

For the latest documentation on Visual Studio 2017 RC, see Visual Studio 2017 RC Documentation.

'declaration' was previously declared or defined with a different managed or WinRTmodifier

A forward declaration and an actual declaration require that there be no conflicts or inconsistencies in the declaration of attributes.

The following sample generates C3816 and shows how to fix it:

// C3816a.cpp  
// compile with: /clr /c  
class C1;  
// try the following line instead  
// ref class C1;  
  
ref class C1{  // C3816, forward declaration does not use ref  
};  

Show: