I can't understand how enumeration works in C++
<p>I have just been playing with enumerations in C++ and I still can't understand these two examples:</p>

<pre><code>enum Colors {
    WHITE, BLACK, RED
};

Colors colors[3];
colors[0] = WHITE; // it's OK
</code></pre>

<p>and:</p>

<pre><code>enum Colors {
    WHITE, BLACK, RED
};

int colors[3];
colors[0] = WHITE; // it's OK
</code></pre>

<p>I know that enumeration's elements counts from 0 to n-1 and so they all have values. But why I have to use Colors name of enumeration to declare an array? Why I can't use int instead? Or can I?</p>

<p>Thanks.</p>
