Share via


Upozornění kompilátoru (úroveň 4) C4295

'array' : matice je příliš malá, aby zahrnovala ukončující znak null.

Pole bylo inicializováno, ale poslední znak v poli není null; Přístup k poli jako řetězec může vést k neočekávaným výsledkům.

Příklad

Následující ukázka vygeneruje C4295. Chcete-li tento problém vyřešit, můžete deklarovat větší velikost pole, uchovávat ukončující hodnotu null z řetězce inicializátoru, nebo můžete použít seznam inicializátorů pole k vymazání záměru, že se jedná o pole char, nikoli řetězec ukončený hodnotou 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];
}