Warnung C26406
Weisen Sie einem (r.3) keinen unformatierten Zeiger zu
owner<T>
.
Diese Warnung erzwingt R.3 aus den C++-Kernrichtlinien. Weitere Informationen finden Sie unter C++ Core Guidelines R.3.
Hinweise
Besitzer werden von Zuordnungen oder von anderen Besitzern initialisiert. Diese Warnung tritt auf, wenn Sie einem Besitzerzeiger einen Wert von einem unformatierten Zeiger zuweisen. Unformatierte Zeiger garantieren keine Eigentumsübertragung; Der ursprüngliche Besitzer kann die Ressource weiterhin enthalten und versuchen, sie freizugeben. Es ist in Ordnung, einen Wert von einem Besitzer einem unformatierten Zeiger zuzuweisen. Unformatierte Zeiger sind gültige Clients für den Zugriff auf Ressourcen, aber nicht für die Verwaltung.
Codeanalysename: DONT_ASSIGN_RAW_TO_OWNER
Beispiel
Verwenden der Objektadresse:
In diesem Beispiel wird versucht, den Besitz der Adresse des defaultSocket
Besitzerzeigers socket
zuzuweisen:
gsl::owner<Socket*> socket = defaultSocket ? &defaultSocket : new Socket(); // C26406
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