Compiler Warning (level 1) C4947
Collapse the table of content
Expand the table of content
Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer

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;
© 2016 Microsoft