C6200
upozornění C6200: index <name> je mimo rozsah platný index <min> k <max> bez zásobníku vyrovnávací paměti <variable>
Toto upozornění znamená, že celé Posun do určeného pole překračuje maximální hranice daného pole.Tato vada může způsobit náhodné chování nebo selhání.
Jednou z běžných příčin této vady se pomocí velikosti pole jako index do pole.Indexování pole C/C++ je od nuly, maximální právní index do pole je menší než počet prvků pole.
Příklad
Následující kód vygeneruje tato upozornění, protože for smyčky přesahuje rozsah indexu:
int buff[14]; // array of 0..13 elements
void f()
{
for (int i=0; i<=14;i++) // i exceeds the index
{
buff[i]= 0; // warning C6200
// code...
}
}
Obě varování opravíte pomocí správné pole velikost jak je ukázáno v následujícím kódu:
int buff[14]; // array of 0..13 elements
void f()
{
for ( int i=0; i < 14; i++) // loop stops when i < 14
{
buff[i]= 0; // initialize buffer
// code...
}
}