Domanda

Nel mio codice, io sto usando un xyz array di 10 oggetti. Quando io sto cercando di accedere a un elemento dell'array utilizzando un indice unsigned int in questo modo: xyz[level], ottengo 'sovraccarico del buffer ' avvertimento "nofollow noreferrer". Logicamente, io sono abbastanza sicuro che il livello non supererà il 10. Come evitare questo avvertimento?

È stato utile?

Soluzione

Probabilmente sto insegnando mia nonna a succhiare le uova qui, ma mi ricordo che "il livello non supera il 10" è sbagliato per un array di dimensione 10:

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

Altri suggerimenti

Sei davvero sicuro? Non ho mai avuto questo avviso fino ad ora. Quindi, doppio controllo.

In ogni caso, è possibile utilizzare il

#pragma warning( disable: 6386 )

preprocessore direttiva. Io di solito push e pop questo al "pragma stack"

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

qui .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top