The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

deprecated (C/C++)


The new home for Visual Studio documentation is Visual Studio 2017 Documentation on

The latest version of this topic can be found at 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  

Pragma Directives and the __Pragma Keyword