digitalmars.D.learn - array to pointer conversion
- mario pernici (15/15) Feb 11 2007 Hello,
- Sean Kelly (5/24) Feb 11 2007 Try "p = s.ptr" The implicit conversion was made illegal a while back.
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; Mario
Feb 11 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
Feb 11 2007