Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All
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.

deprecated (C/C++)

The deprecated pragma lets you indicate that a function, type, or any other identifier may no longer be supported in a future release or should no longer be used.

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

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: /W3
#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: /W3
#pragma deprecated(X)
class X {  // C4995
   void f(){}

int main() {
   X x;   // C4995

Community Additions

© 2015 Microsoft