wie weisen Sie einen Wert zu einem enum in C?

Ich habe eine enum und ein struct wie folgt definiert:

typedef enum
{
   MONDAY = 1,
   TUESDAY,
   WEDNESDAY
} ThreeDays;

typedef struct
{
   int hello;
   ThreeDays day;
} Weekday;

static Weekday weekday = { 1, 2};

Dann bekam ich die folgende Fehlermeldung in lint:

Error 64: Type mismatch (initialization) (int/enum)

Was ist der Grund dieses Fehlers? Wie kann ich es korrigieren?

  • Haben Sie versucht static Weekday weekday = {1, MONDAY}; ?
  • Ich habe diese Warnung in c, nicht in c++, und es ist nicht ein Fehler.
  • Dann ist dein C-compiler ist der falsche compiler verwenden Sie ?
  • Es ist kein compiler, es ist lint.
  • Wissen Sie, warum Sie definiert eine enum ?
  • Ich bin bereit, zu hören, dass ist der Grund, warum ich den Fehler gemacht.

InformationsquelleAutor | 2012-11-22
Schreibe einen Kommentar