Compiler Error C3816
'declaration' was previously declared or defined with a different managed modifier
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:
// 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
};
The following sample generates C3816:
// C3816b.cpp
// compile with: /clr:oldSyntax /c
#using <mscorlib.dll>
class C1;
// try the following line to resolve the error
// __gc class C1;
__gc class C1{ // C3816, forward declaration does not use __gc
};