Frage

In meinem Code, ich bin mit einem Array xyz von 10 Objekten. Wenn ich versuche, ein Element des Arrays zuzugreifen einen unsigned int Index wie folgt aus: xyz[level], erhalte ich 'Buffer Overrun ' Warnung. Logischerweise bin ich ziemlich sicher, dass Level 10 nicht überschreiten Wie diese Warnung vermeiden?

War es hilfreich?

Lösung

Ich bringe wahrscheinlich meine Großmutter Eier hier zu saugen, aber denken Sie daran, dass „Niveau nicht überschreiten 10“ ist falsch für eine Reihe von Größe 10:

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

Andere Tipps

Sind Sie wirklich sicher? Ich habe nie diese Warnung bis jetzt. So überprüfen.

Wie auch immer, können Sie die

verwenden
#pragma warning( disable: 6386 )

Präprozessordirektive. Ich in der Regel drücken und Pop dies den „Pragma stack“

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

wie empfohlen hier .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top