C6200
Aviso C6200: índice <nome>está fora do intervalo de índice válido <min>para <max>para o buffer de pilha não <variável>
Este aviso indica que um deslocamento inteiro na matriz especificada excede o máximo dos limites da matriz.Esse defeito pode causar comportamento aleatório ou quedas.
Uma causa comum desse defeito está usando o dimensionar de uma matriz sistema autônomo um índice na matriz.Como a indexação de matriz de C/C ++ é baseado em zero, o índice legal máximo em uma matriz é um número de elementos da matriz menos.
Exemplo
O código a seguir gera este aviso porque o for loop excede o intervalo de índice:
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...
}
}
Para corrigir sistema autônomo avisos, use dimensionar de matriz correto conforme mostrado no código a seguir:
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...
}
}