i saw this sample code on a website. i am confued. when this code defines a function called void Earnings, it uses (float thisWeek, float salary) parameter, but when it calls the function in the main, it uses (float h, float r), how does the compiler know that they are not 2 difference functions?
also, Earnings(hours, rate);, this line in the middle. how come this line doesnt need to use void Earning?
when this code defines a function called void Earnings
No, the function's name is just "Earnings". void is the return type (void just indicates that the function does not actually return anything).
it uses (float h, float r), how does the compiler know that they are not 2 difference functions?
Because the parameter names are not part of the function signature, the compiler does not care what you name them. In fact, you don't need to specify any parameter names at all.
how come this line doesnt need to use void Earning?
You only specify the return type when doing a function declaration/definition.
However, that line just calls the function.
And if you cannot execute ./configure, that either means there's no configure script in the current directory or it's missing executable rights.