deprecated (C++)
Microsoft-spezifische () mit den Ausnahmen, die unten aufgeführten bietet die veraltet Deklaration dieselben Funktionen wie das veraltet Pragma angegeben:
Die veraltet Deklaration können Sie bestimmte Arten von Funktionsüberladungen angeben, z. B. veraltet, während das Pragma Form für alle überladenen Formen eines Funktionsnamens gilt.
Die veraltet Deklaration können Sie eine Meldung an, die zur Kompilierzeit angezeigt wird.Der Text der Meldung kann von einem Makro sein.
Makros können nur als mit dem veraltet Pragma veraltet.
Wenn der Compiler die Verwendung eines veralteten Bezeichners trifft, wird ein C4996 Warnung ausgelöst.
Beispiel
Im folgenden Beispiel wird gezeigt, wie mit Funktionen als veraltet markiert und wie eine Nachricht angibt, die zur Kompilierzeit angezeigt wird, wenn die veraltete Funktion verwendet wird.
// 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
}
Im folgenden Beispiel wird gezeigt, wie Klassen als veraltet markiert und wie eine Nachricht angibt, die zur Kompilierzeit angezeigt wird, wenn die veraltete Klasse verwendet wird.
// 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
}