De Objective Caml para C e C++/Construção de tipos (editar)
Revisão das 18h38min de 1 de agosto de 2007
, 1 de agosto de 2007→Tipos enumerados [[Imagem:2de8.png]]
[edição não verificada] | [edição não verificada] |
Tpoint point; // point é uma variável cujo tipo é Tpoint, ou seja o tipo registro struct Spoint
===
Com relação ao sistema de tipos de Objective Caml, os tipos enumerados lembram de forma superficial os tipos variantes. Os tipos enumerados são porém muito mais limitados, e correspondem mais precisamente a tipos variantes onde as alternativas devem ser todas constantes.
enum Ecodigo { NO_ERROR = 0; IO_ERROR = 10; FORMAT_ERROR; TIMEOUT_ERROR };
Nesse exemplo, <tt>FORMAT_ERROR</tt> e <tt>TIMEOUT_ERROR</tt> denotam respectivamente os inteiros <math>10</math> e <math>11</math>.
====Exercício====
Considere o seguinte tipo de dados definido em Objective Caml
type card_suit_t = Spades | Hearts | Diamonds | Clubs
Define um tipo equivalente em C/C++.
===Tipos arranjos===
|