Wenn der Compiler sagt, dass es neu definiert wurde, dann ist es wahrscheinlich.
Meine psychischen Debugging-Fähigkeiten sagen mir, dass Sie die Struktur aus einer Quelldatei in eine Header-Datei verschoben haben und die Include-Wächter in dieser Kopfzeile vergessen haben, die dann mehrfach in eine Quelldatei eingefügt wird.
EDIT: Als allgemeine Regel empfehle ich generell, führende Unterstriche zu vermeiden. In einigen Fällen (zum Beispiel gefolgt von einem Großbuchstaben) sind sie für die Implementierung reserviert, und es ist am einfachsten, niemals die führende _
zu verwenden, anstatt zu hoffen, dass Sie sich an alle Regeln erinnern.
Tags und Links c++