DMD32 vs DMD64 array.length

Andrea Fontana advmail at katamail.com
Fri Nov 11 01:13:21 PST 2011


I don't think it's a good idea. In this case it's my fault, I should
imagine that a size_t datatype exists for arrays.
BTW on generic cases with aliases it would be useful to have an error
like :

"Error: cannot implicity convert expression (leaves.length) of type
size_t (ulong) to uint."

If not, i'll fix it using ulong and then when i'll go back on 32bit (or
on a case where alias is defined in another way) compiling will fail
again.

Il giorno ven, 11/11/2011 alle 09.58 +0100, Alex Rønne Petersen ha
scritto:

> On 11-11-2011 09:30, Andrea Fontana wrote:
> > That's exactly what I was looking for. So it works as in most
> > programming languages :P
> > Dmd has deceived me. It says:
> >
> > "Error: cannot implicitly convert expression (leaves.length) of type
> > ulong to uint"
> >
> > It should say:
> > "Error: cannot implicitly convert expression (leaves.length) of type
> > size_t to uint"
> >
> > Il giorno gio, 10/11/2011 alle 15.19 +0000, Dejan Lekic ha scritto:
> >> Andrea Fontana wrote:
> >>
> >> >  Some functions (for example array length) return ulong on dmd64 e uint
> >> >  on dmd32
> >> >  I need to compile on both platform: which is the right/best/clean way?
> >>
> >> Andrea, use the size_t type.
> 
> DMD generally uses the actual type rather than the alias' name when 
> you're using an aliased type.
> 
> - Alex
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20111111/bb3b7cf8/attachment.html>


More information about the Digitalmars-d mailing list