This documentation is archived and is not being maintained.


#pragma deprecated( identifier1 [,identifier2, ...] )

The deprecated pragma lets you indicate that a function, type, or any other identifier:

  • May no longer be supported in a future release.
  • Should no longer be used.

When the compiler encounters a deprecated symbol, it issues C4995.

You can deprecate macro names. Place the macro name in quotes or else macro expansion will occur.

The deprecated __declspec modifier allows you to specify deprecated status for particular forms of overloaded functions.


// pragma_directive_deprecated.cpp
// compile with: /W1
#include <stdio.h>
void func1(void) {

void func2(void) {

int main() {
   #pragma deprecated(func1, func2)
   func1();   // C4995
   func2();   // C4995

The following sample shows how to deprecate a class:

// pragma_directive_deprecated2.cpp
// compile with: /W1
#pragma deprecated(X)
class X {  // C4995
   void f(){}

int main() {
   X x;   // C4995

See Also

Pragma Directives