De Objective Caml para C e C++/Construção de tipos: diferenças entre revisões

[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
 
===Tipos enumeradosEnumerações [[Imagem:2de83de8.png]]===
 
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===
187

edições