Вопрос

В моем коде, я использую массив xyz из 10 объектов. Когда я пытаюсь получить доступ к элементу массива, используя индекс unsigned INT, как это: xyz[level], Я получил «Переполнение буфера»' предупреждение. Логично, я уверен, что уровень не превышает 10. Как избежать этого предупреждения?

Это было полезно?

Решение

Я, вероятно, преподаю свою бабушку всасывать здесь яйца, но помните, что «уровень не превышает 10» не так для массива размера 10:

char a[10];
a[10] = '\0';  // Bug, and "Buffer Overrun" warning.

Другие советы

Ты В самом деле Конечно? Я никогда не получил это предупреждение до сих пор. Итак, дважды проверьте.

В любом случае, вы можете использовать

#pragma warning( disable: 6386 )

Директива препроцессора. Я обычно нажимаю и поплую это на «стек прагмы»

#pragma warning( push )
#pragma warning( disable : 6386 )
// Some code
#pragma warning( pop )

Как посоветоваться здесь.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top