Cannot convert parameter 1 from 'Class *' to 'double []'
<p>Well, Here is the C++ code I've got here and cant compile</p>

<pre><code>#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;string&gt;
using namespace std;

const int n = 900;
class City{
string name;
double area;
int count, roads;


public:
City() {}
City(string a, double b, int c, int d ) { a=name; b=area; c=count; d=roads;}
string getname() {return name;}
double getarea() {return area;}
int getcount() {return count;}
int getroads() {return roads;}
friend ostream&amp; operator &lt;&lt; (ostream&amp; , City&amp; );
friend istream&amp; operator &gt;&gt; (istream&amp; , City&amp; );

};

ostream&amp; operator &lt;&lt; (ostream&amp; out, City&amp; a) {
out&lt;&lt;"name "&lt;&lt;a.name&lt;&lt;", area "&lt;&lt;a.area&lt;&lt;", count "&lt;&lt;a.count&lt;&lt; ", roads   "&lt;&lt;a.roads&lt;&lt;endl;
return out; 
 }
istream&amp; operator &gt;&gt; (istream&amp; in, City&amp; a) {
in&gt;&gt;a.name&gt;&gt;a.area&gt;&gt;a.count&gt;&gt;a.roads;
return in;
   }
void fill(int arr[], int size){
ifstream ifs("cities.txt.");
for (int i=0;i&lt;size;i++) 
    ifs&gt;&gt;arr[i];
  }


 void func(City* arr){
ofstream ofs("density.out");
for(int i=0;i&lt;n;i++){
    if(arr[i].getcount()/arr[i].getarea()&gt;1000)
        ofs&lt;&lt;arr[i];
}
  }

  int main(){
City* hm;
hm = new City[n];
fill(hm, n);
func(hm);
system ("pause");
return 0;
 }
</code></pre>

<p>here is the error I get while compiling: </p>

<blockquote>
  <p>error C2664: 'fill' : cannot convert parameter 1 from 'City *' to 'int
  []'</p>
</blockquote>

<p>somehow I see that, it says something is wrong with the Class 'City *" and int[] array, but can't figure out. I change the 'int' with double but same prob. 
that's problem, otherwise it seems a simple array filling function from file.
any idea what's wrong with it?</p>

<p>So, how would </p>

<blockquote>
  <p>void fill(City&amp; arr, int size)
  's body would like?</p>
</blockquote>
