Compilerwarnung (Ebene 4) C4295
'Array': Array ist zu klein, um ein endendes NULL-Zeichen einzuschließen.
Ein Array wurde initialisiert, das letzte Zeichen im Array ist jedoch kein Nullwert. Der Zugriff auf das Array als Zeichenfolge kann zu unerwarteten Ergebnissen führen.
Beispiel
Im folgenden Beispiel wird C4295 generiert. Um dieses Problem zu beheben, könnten Sie die Arraygröße größer deklarieren, eine endende Null aus der Initialisierungszeichenfolge enthalten, oder Sie können eine Arrayinitialisierungsliste verwenden, um die Absicht klar zu machen, dass es sich um ein Array von char
, nicht um eine null-beendete Zeichenfolge handelt.
// C4295.c
// compile with: /W4
int main() {
char a[3] = "abc"; // C4295
char b[3] = {'d', 'e', 'f'}; // No warning
a[0] = b[2];
}
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