for, foreach identifier allowed in c throws error in d
Steven Schveighoffer via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Mon Jun 2 12:32:36 PDT 2014
On Mon, 02 Jun 2014 15:21:06 -0400, Logesh Pillay
<lp.court.jester at gmail.com> wrote:
> It is common in a recursive function to amend a global array using the
> function parameter to refer to the element eg
>
> int[10];
>
> void foo (int i) {
> foreach (x; 0 .. 9) {
> t[i] = x;
> foo ();
>
> C in a for loop allows use of t[i] directly as the iterating variable so
> you don't need the dummy variable x which has no real function.
>
> D does not. The error generated is "no identifier for declarator t[i]".
> For a long time, I thought that was specific to foreach but the same
> thing happens with for.
>
> It looks like an unnecessary restriction. Am I missing something?
Can you post a full compiling example? I can't figure out what you are
trying to do with this code.
-Steve
More information about the Digitalmars-d-learn
mailing list