array to pointer conversion

Sean Kelly sean at f4.ca
Sun Feb 11 09:57:54 PST 2007


mario pernici wrote:
> Hello,
> 
> the following example does not compile with dmd 1.05:
> 
> void main()
> {
>   int* p;
>   int[3] s;
>   for(int i=0; i < 3; i++) s[i] = i;
>   p = s;
> }
> 
> bug1.d(6): Error: cannot implicitly convert expression (s) of type int[3] to int*
> 
> while it seems it should according to the spec (Array Declaration).
> It used to work in some previous version of dmd.
> 
> The following works with dmd 1.05:
> p = cast(int*) s;

Try "p = s.ptr"  The implicit conversion was made illegal a while back. 
  You may want to submit a bug report for the docs if they don't mention 
this.


Sean


More information about the Digitalmars-d-learn mailing list