deprecated (C++)
In diesem Thema geht es um die microsoftspezifische dezimierte delspec-Deklaration. Informationen zum C++14-Attribut [[deprecated]]
und Anleitungen zur Verwendung dieses Attributs im Vergleich zum Microsoft-spezifischen Dezilspec oder Pragma finden Sie unter C++-Standardattribute.
Mit den unten aufgeführten Ausnahmen bietet die deprecated
Deklaration die gleiche Funktionalität wie das veraltete Pragma:
Mit der
deprecated
Deklaration können Sie bestimmte Formen von Funktionsüberladungen als veraltet angeben, während das Pragma-Formular für alle überladenen Formen eines Funktionsnamens gilt.Mit der
deprecated
Deklaration können Sie eine Meldung angeben, die zur Kompilierungszeit angezeigt wird. Der Text der Meldung kann von einem Makro stammen.Makros können nur mit dem
deprecated
Pragma als veraltet markiert werden.
Wenn der Compiler auf die Verwendung eines veralteten Bezeichners oder des Standardattributs [[deprecated]]
stößt, wird eine C4996-Warnung ausgelöst.
Beispiele
Im folgenden Beispiel wird gezeigt, wie Funktionen als veraltet gekennzeichnet werden und wie eine Meldung angegeben wird, die bei Verwendung einer veralteten Funktion zur Kompilierzeit angezeigt 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 gekennzeichnet werden und wie eine Meldung angegeben wird, die bei Verwendung einer veralteten Klasse zur Kompilierzeit angezeigt 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
}
Siehe auch
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für