title: C error: array type has incomplete element type
body: <p>I'm trying to compile a program in Ubuntu 11.04 that works well in Windows but it gives the above error. I have added a comment to the line that is causing the error. Here's the code:</p>
  
  <pre><code>route_input() {
      int num_routes;//Variable to act as the loop counter for the loop getting route details
      int x;
  
      char route_id[3];
      char r_source[20];
      char r_destination[20];
      int r_buses;
  
  
  
      printf("Please enter the number of routes used: \n");
      scanf("%d", &amp;num_routes);
      char routes_arr[num_routes][10];//An array to hold the details of each route
  
      printf("\nNumber of routes is %d\n", num_routes);
  
      struct route r[num_routes];//An array of structures of type route (This line causes the error)
  
      fflush(stdin);
  
      for (x = num_routes; x &gt; 0; x--) {
           printf("\nEnter the route number: ");
           scanf("%s", r[x].route_num);
           printf("Route number is %s", r[x].route_num);
  
  
           printf("\nEnter the route source: ");
           fflush(stdin);
           scanf("%s", r[x].source);
           printf("Source = %s", r[x].source);
  
  
           printf("\nEnter the route destination: ");
           fflush(stdin);
           gets(r[x].destination);
           printf("Destination = %s", r[x].destination);
  
           printf("\nEnter the number of buses that use this route: ");
           scanf("%d", &amp;r[x].num_of_buses);
           printf("Number of buses = %d", r[x].num_of_buses);
  
  
      }
  
      for (x = num_routes; x &gt; 0; x--) {
          printf("\n\n+++Routes' Details+++\nRoute number = %s, Source = %s, Destination = %s, Number of buses for this route = %d\n", r[x].route_num, r[x].source, r[x].destination, r[x].num_of_buses);
      }
  
  }
  </code></pre>