Foreach problem

Daniel Keep daniel.keep.lists at gmail.com
Sat Jan 10 18:50:54 PST 2009



Tim M wrote:
> 
> Why is this an error. Dmd wants to make sure that I declare a new 
> variable in the foreach statement and not use an existing one?
> 
> module test;
> 
> void main()
> {
>     int i;
>     int[] nums;
>     foreach(i; nums)
>     {
>         //
>     }
> }
> 
> 
> dmd test.d
> 
> test.d(7): Error: shadowing declaration test.main.i is deprecated

Yes; as the error states, you're not allowed to define variables with 
the same name as variables in an enclosing scope any more.

   -- Daniel


More information about the Digitalmars-d-learn mailing list