Explicit conversion needed to go from array to pointer??
Xinok
xnknet at gmail.com
Thu Feb 22 08:33:23 PST 2007
Henrik Harmsen wrote:
> Leandro Lucarella Wrote:
>
>> Henrik Harmsen escribió:
>>> I'm looking at the D reference manual in the "arrays" section. It says under "usage":
>>>
>>> int* p;
>>> int[3] s;
>>>
>>> p = s; // p points to the first element of the array s.
>>>
>>> But when I try this I get:
>>> "cannot implicitly convert expression (s) of type int[3] to int*."
>>>
>>> Why? Is the manual wrong or the compiler or what am I missing?
>> The manual is wrong, this was deprecated not too long ago.
>>
>> --
>> Leandro Lucarella
>> Integratech S.A.
>> 4571-5252
>
>
> Oh..
>
> Deprecated in what way? Made illegal or obsolete or..?
>
> Can I use an explicit cast? Will it work?
>
> Like this:
> p = cast(int*)s; // p points to the first element of the array s.
> ?
>
> -- Henrik
>
The best way I can find is to:
p = &s[0];
Or as others have said, just use the .ptr property.
More information about the Digitalmars-d
mailing list