deprecated (C/C++)
O pragma preterido permite indicar que uma função, um tipo ou qualquer outro identificador pode não ter mais suporte em uma versão futura ou não deve mais ser usado.
#pragma deprecated( identifier1 [,identifier2, ...] )
Comentários
Quando o compilador encontrar um símbolo preterido, ele emitirá C4995.
Você pode preterir nomes de macro. Coloque o nome da macro entre aspas. Caso contrário, haverá uma expansão na macro.
O modificador preterido __declspec permite especificar o status preterido de formatos específicos de funções sobrecarregadas.
Exemplo
// pragma_directive_deprecated.cpp
// compile with: /W3
#include <stdio.h>
void func1(void) {
}
void func2(void) {
}
int main() {
func1();
func2();
#pragma deprecated(func1, func2)
func1(); // C4995
func2(); // C4995
}
O exemplo a seguir mostra como preterir uma classe:
// pragma_directive_deprecated2.cpp
// compile with: /W3
#pragma deprecated(X)
class X { // C4995
public:
void f(){}
};
int main() {
X x; // C4995
}