Definieren Sie eine "Unbekannt" oder "NULL" - Wert im enum
Ich bin die Definition einer benutzerdefinierten typedef-Elemente wie folgt....
typedef enum {
Ar,
Cl,
F,
He,
H,
Kr,
Ne,
N,
O,
Rn,
Xe
} Element;
Möchte ich überprüfen eine variable vom Typ Element nicht gesetzt wurde (im wesentlichen nur prüfen, ob ein NULL-Wert). Soweit ich sagen kann der einzige Weg, dies zu tun ist, fügen Sie eine zusätzliche Zeile
.... {
unknown = 0,
Ar,
F,
...etc
Bin ich im Recht, oder gibt es eine elegantere Möglichkeit das zu tun?
- Ich glaube, der Konvent ist eine "unbekannte" Wert
- ...oder, nicht verwenden, Enumerationen für, diese. vielleicht verwenden Sie einfach NSString-Objekte statt?
- Das ist plain C btw.
- oh! keine Objekte... Mein Kopf ist in objective-c land... immer Noch, ich könnte fördern
Element
zu einem struct + eine Reihe von utility-Funktionen. Es hängt davon ab, wieElement
verwendet werden.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, sollten Sie auch einen "unbekannten" Wert. Im Grunde ein
enum
ist nur einint
. Wenn Sie don ' T definieren Sie Konstanten, die in den Erklärungen (wie in deinem ersten code-Beispiel) die erste option wird festgelegt, um0
und der default-Wert.Eine alternative könnte sein, um die erste option zu
1
. Auf diese Weise wird der Wert0
nicht definiert werden und Sie können überprüfen für Sie, dass Sie manuell.Aber ich würde sich für eine explizit definierte "unbekannt" value statt.