Share via


deprecated (C++)

(Específico de Microsoft) Con las excepciones que se indican a continuación, la declaración deprecated proporciona la misma funcionalidad que la directiva pragma deprecated:

  • La declaración deprecated permite especificar formas determinadas de sobrecargas de función como desusadas, mientras que la forma pragma se aplica a todas las formas sobrecargadas de un nombre de función.

  • La declaración deprecated permite especificar un mensaje que se mostrará en tiempo de compilación. El texto del mensaje puede proceder de una macro.

  • Las macros solo se pueden marcar como desusadas con la directiva pragma deprecated.

Si el compilador encuentra el uso de un identificador desusado, se produce una advertencia C4996.

Ejemplo

En el ejemplo siguiente se muestra cómo marcar funciones como desusadas y cómo especificar un mensaje que se mostrará, en tiempo de compilación, cuando se use la función desusada.

// deprecated.cpp
// compile with: /W3
#define MY_TEXT "function is deprecated"
void func1(void) {}
__declspec(deprecated) void func1(int) {}
__declspec(deprecated("** this is a deprecated function **")) void func2(int) {}
__declspec(deprecated(MY_TEXT)) void func3(int) {}

int main() {
   func1();
   func1(1);   // C4996
   func2(1);   // C4996
   func3(1);   // C4996
}

En el ejemplo siguiente se muestra cómo marcar clases como desusadas y cómo especificar un mensaje que se mostrará, en tiempo de compilación, cuando se use la clase desusada.

// deprecate_class.cpp
// compile with: /W3
struct __declspec(deprecated) X {
   void f(){}
};

struct __declspec(deprecated("** X2 is deprecated **")) X2 {
   void f(){}
};

int main() {
   X x;   // C4996
   X2 x2;   // C4996
}

Vea también

Referencia

__declspec

Palabras clave de C++