On Mon, 2003-06-02 at 11:32, John Stark wrote:
>
> 
> An error came up in these files:
> cc-1168 CC: ERROR File = DXWindow.C, Line = 821
> cc-1168 CC: ERROR File = ResourceManager.C, Line = 37
> cc-1168 CC: ERROR File = ResourceManager.C, Line = 147
> cc-1168 CC: ERROR File = ResourceManager.C, Line = 163
> cc-1168 CC: ERROR File = ResourceManager.C, Line = 176
> cc-1168 CC: ERROR File = ToolSelector.C, Line = 239
> 
> All have the same error:
>   The indicated type conversion is invalid.
>         while (s=(Symbol)iter.getNext()) {
> 
I should have known.

> The problem is that Symbol is of type int: (SymbolManager.h:typedef int
> Symbol;) so the cast from 64-bit pointer to int fails. Replacing with
> the following sorts it out:
>       while (s=*(Symbol*)iter.getNext()) {
> (But is this what is intended?)
> 
No.  That would just crash.  The value stored is really a Symbol
and not a Symbol*.  I think I have to do something with memcpy to make
this work.

Reply via email to