Dela via


Kompilatorvarning (nivå 4) C4295

Matris: matrisen är för liten för att innehålla ett avslutande null-tecken

Anmärkningar

En matris initierades men det sista tecknet i matrisen är inte null. åtkomst till matrisen som en sträng kan ge oväntade resultat.

Example

I följande exempel genereras C4295. För att åtgärda det här problemet kan du deklarera matrisstorleken större, hålla en avslutande null från initialiserarsträngen eller använda en matrisinitieringslista för att göra avsikten tydlig med att det här är en matris med char, inte en null-avslutad sträng.

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

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