Предупреждение компилятора (уровень 4) C4295
"array" : массив слишком мал, чтобы включить завершающий символ NULL
Массив инициализирован, но последний символ в массиве не имеет значения NULL; доступ к массиву в виде строки может привести к непредвиденным результатам.
Пример
Следующий пример приводит к возникновению ошибки C4295. Чтобы устранить эту проблему, можно объявить размер массива больше, чтобы сохранить завершающий значение NULL из строки инициализатора массива или использовать список инициализатора массива, чтобы сделать намерение ясным, что это массив char
, а не строка, завершающаяся значением 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];
}
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по