Not passing array correctly to function

this...

struct Point
{
   double x;
   double y;
};

and this...

Point Collection [6][2] = {
    {1,9.3},
    {2,11.5},
    {3,12.25},
    {4,13.1},
    {5,14.2},
    {6,16.3}
};

What you're doing there is creating a two dimensional array of points, so 12 points total. I can't be totally sure, but it doesn't look like that is your intent. From your usage of Collection, it looks like you're really trying to just create a 1 dimensional array of 6 points and assign the x and y values using array initialization notation.

If the latter is what you're trying to accomplish, just drop the second dimension, use...

Point Collection [6] = {