deprecated (C++)
(Microsoft szczególne) Z wyjątkiem wskazanych poniżej przestarzałe deklarację oferuje taką samą funkcjonalność jak przestarzałe pragma:
Przestarzałe deklarację pozwala określić poszczególnych formularzy overloads funkcji jako przestarzałe, formularz pragma stosuje się do wszystkich form przeciążony nazwę funkcji.
Przestarzałe deklarację pozwala określić komunikat, który będzie wyświetlany w czasie kompilacji.Tekst komunikatu może być z makr.
Makra mogą jedynie być oznaczona jako przestarzałe z przestarzałe pragma.
Jeśli kompilator napotka użycie identyfikatora przestarzałe, C4996 jest generowane ostrzeżenie.
Przykład
Następujący przykład przedstawia sposób oznaczania funkcji jako przestarzałe i sposobu określania wiadomości, który będzie wyświetlany w czasie kompilacji, gdy jest używany zdeprecjonowanej funkcji.
// 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
}
Następujący przykład przedstawia sposób oznaczania klasy jako przestarzałe oraz jak określić komunikat, który będzie wyświetlany w czasie kompilacji, gdy przestarzałe klasa jest używana.
// 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
}