Is it acceptable to use pointers to class as enum constants?
<p>Say I have some global objects:</p>

<pre><code>MyClass* a = new MyClass()
MyClass* b = new MyClass()
MyClass* c = new MyClass()
</code></pre>

<p>Which repesent all meaningful states of <code>MyClass</code></p>

<p>Is there a good reason not to form an enum from them as follows?</p>

<pre><code>enum MyEnum {
    A = (int) a,
    B = (int) b,
    C = (int) c
}
</code></pre>

<p>Such that in other code, I can pass the enum around, and cast it: <code>(MyClass*) (MyEnum::A)</code></p>
