none
[C++] Enum + Operator RRS feed

  • Frage

  • Ich weiß nicht genau wie ich die Funktion(operator++) für mein enum schreiben soll.

    Hier das was ich bis jetzt hab :

    bool operator++(Date::Month &m) { m = m + 1; } void Date::add_day(int n) { if (d == 31) { d = 1; m += 1; // OPERATOR FÜR ENUM HINZUFÜGEN... }

    Ich weiß nicht wie ich das richtig schreiben soll. Er sagt ja dann, dass kein int einer Entinität von Month zugewiesen werden kann. Brauche etwas Hilfe :D

    Mittwoch, 27. November 2013 12:34

Antworten

  • Man kann einen enum nicht inkrmentieren. Es ist intern zwar ein int, aber ein ++ oder +1 geht nicht.

    Du kannst nur einen cast auf einen intmachen,m den inkrement durchfüphren und einen cast zurück machen.


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de

    Mittwoch, 27. November 2013 12:55
    Moderator

Alle Antworten

  • Man kann einen enum nicht inkrmentieren. Es ist intern zwar ein int, aber ein ++ oder +1 geht nicht.

    Du kannst nur einen cast auf einen intmachen,m den inkrement durchfüphren und einen cast zurück machen.


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de

    Mittwoch, 27. November 2013 12:55
    Moderator
  • Danke dir. Hab jetzt eine andere Funktion geschrieben, die sehr gut funktioniert. :)

    Mittwoch, 27. November 2013 15:00