This documentation is archived and is not being maintained.

Compiler Warning (level 1) C4947

Error Message

'type_or_member' : marked as obsolete

A member or type was marked as obsolete with the ObsoleteAttribute class.

The following sample generates C4947:

// C4947.cpp
// compile with: /clr /W1
// C4947 expected
using namespace System;

ref struct S {
   int i;

   void mFunc(){}

// Any reference to Func1 should generate a warning
Int32 Func1(Int32 a, Int32 b) {
   return (a + b);

// Any reference to Func2 should generate a warning with  message
[System::ObsoleteAttribute("Will be removed in next version")]
Int32 Func2(Int32 a, Int32 b) {
   return (a + b);

int main() {
   Int32 MyInt1 = ::Func1(2, 2);
   Int32 MyInt2 = ::Func2(2, 2);

   S^ s = gcnew S();
   s->i = 10;