I frequently use this paradigm for my image processing apps :

import std.stdio ;
struct S { int a, b; ubyte[] p;
}
void main()
{ S img= S(11,22) ;  img.p = new ubyte[5];

foreach (i; 0 .. 5) {
img.p[i]=cast(ubyte)(10+i) ; printf(" sa %d sb %d : %d\n", img.a, img.b, img.p[i] );
}
}

The above code, compiles and runs ok .. but sometimes I get run runtime errors using the same paradym, which disappear when I substitute (img.p)[i]

Any explanation for this ?

Reply via email to