Keresés

Új hozzászólás Aktív témák

  • amargo

    addikt

    válasz yash #677 üzenetére

    Egy integrális típus értékét meghatározott módon felsoroló típusúvá alakíthatjuk. Ha az érték nem esik a felsoroló típus értékhalmazába, a konverzió eredménye nem meghatározott:

    enum flag { x=1, y=2, z=4, e=8 };

    // tartomány: 0:15

    flag f1 = 5;

    // típushiba: 5 nem flag típusú

    flag f2 = flag(5);

    // rendben: flag(5) flag típusú és annak tartományán belüli

    flag f3 = flag(z|e);

    // rendben: flag(12) flag típusú és annak tartományán belüli

    flag f4 = flag(99);

    // meghatározatlan: 99 nem esik a flag tartományán belülre

    Az utolsó értékadás mutatja, miért nincs automatikus konverzió egészrõl felsoroló típusra;
    a legtöbb egész érték ugyanis nem ábrázolható egy adott felsoroló típusban.

Új hozzászólás Aktív témák

Hirdetés