Warnung C26404
Löschen Sie
owner<T>
keinen ungültigen Zustand (r.3)
Hinweise
Sobald ein Besitzerzeiger seine Ressource loslässt oder überträgt, wird er in einen "ungültigen" Zustand versetzt. Das Löschen eines solchen Zeigers kann zu einer sofortigen Speicherbeschädigung aufgrund eines doppelten Löschens oder zu einer Zugriffsverletzung führen, wenn von einem anderen Besitzerzeiger auf die gelöschte Ressource zugegriffen wird.
Codeanalysename: DONT_DELETE_INVALID
Beispiel 1
Löschen eines Besitzers nach dem Übertragen seines Werts:
gsl::owner<State*> validState = nullptr;
gsl::owner<State*> state = ReadState();
validState = state;
if (!IsValid(state))
delete state; // C26404
Beispiel 2
Löschen eines nicht initialisierten Besitzers:
gsl::owner<Message*> message;
if (popLast)
message = ReleaseMessage();
delete message; // C26404
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