www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - dmd v.163 foreach question: int[] is not an array of int[]

reply clayasaurus <clayasaurus gmail.com> writes:
My question is this, with the current code, why is the first statement 
valid but as soon as you try to iterate with foreach the code becomes 
invalid? I get the error "int[] is not an array of int[]". Bug? 
Misunderstanding? Thanks.

~ Clay

int[][char[]] bob;

int main()
{
     // this code is valid
     int[] b1 = bob["world"];


     foreach(char[] k; bob.keys)
         // int[] is not an array of int[]
         foreach(int[] b; bob[k])
         {
         }

     return 0;
}
Jul 19 2006
parent reply "Lionello Lunesu" <lionello lunesu.remove.com> writes:
If bob[k] is an int[], then the foreach is iterating int's, not int[]'s. You 
probably meant foreach( int b; bob[k]).

L.

"clayasaurus" <clayasaurus gmail.com> wrote in message 
news:e9n69q$1a51$1 digitaldaemon.com...
 My question is this, with the current code, why is the first statement 
 valid but as soon as you try to iterate with foreach the code becomes 
 invalid? I get the error "int[] is not an array of int[]". Bug? 
 Misunderstanding? Thanks.

 ~ Clay

 int[][char[]] bob;

 int main()
 {
     // this code is valid
     int[] b1 = bob["world"];


     foreach(char[] k; bob.keys)
         // int[] is not an array of int[]
         foreach(int[] b; bob[k])
         {
         }

     return 0;
 } 
Jul 19 2006
parent clayasaurus <clayasaurus gmail.com> writes:
Lionello Lunesu wrote:
 If bob[k] is an int[], then the foreach is iterating int's, not int[]'s. You 
 probably meant foreach( int b; bob[k]).
 
 L.
Thanks! ~ Clay
Jul 19 2006