Condividi tramite


Avviso del compilatore (livello 4) C4295

'array': la matrice è troppo piccola per includere un carattere Null di terminazione

Una matrice è stata inizializzata ma l'ultimo carattere nella matrice non è null; l'accesso alla matrice come stringa può produrre risultati imprevisti.

Esempio

L'esempio seguente genera l'errore C4295. Per risolvere questo problema, è possibile dichiarare le dimensioni della matrice maggiori, per contenere un valore Null di terminazione dalla stringa dell'inizializzatore oppure è possibile usare un elenco di inizializzatori di matrice per rendere chiaro che si tratta di una matrice di char, non di una stringa con terminazione Null.

// C4295.c
// compile with: /W4

int main() {
   char a[3] = "abc";           // C4295
   char b[3] = {'d', 'e', 'f'}; // No warning
   a[0] = b[2];
}