When I do, the following errors come up (Not sure if they're interrelated):
16 cannot convert `double (*)[4]' to `double' for argument `1' to `void gauss(double, double, double, int)'
Look at the definition of the function and carefully check the values used in the call on line 16. Are they identical?
56 expected unqualified-id before "return"
56 expected `,' or `;' before "return"
and
57 expected declaration before '}' token
Use consistent formatting in your code and you will see immediately what the problem is. See this if you need help.