Ok. I'm reading "Programming Roleplaying Games with DirectX" and at the beginning of the book, there's a C++ primer. The code on function overloading seems like nonsense to me.
Prototypes/Definitions:
Code:
long AddNumbers ( long Num1, long Num2 );
long AddNumbers ( long * NumArray, long NumOfNums );
long AddNumbers ( long Num1, long Num2 )
{
return ( Num1 + Num2 );
}
long AddNumbers ( long * NumArray, long NumOfNums )
{
long Result, i;
Result = 0;
while ( NumOfNums-- )
Result += NumArray [i]; // Hmm? i was not initialized!
return Result;
}
In main:
Code:
long Array [5] = { 10, 20, 30, 40, 50 };
Result = AddNumbers ( 10, 20 );
Result = AddNumbers ( Array, 5 ); // Hmm? Shouldn't it be passing an address?
Is this bad code? Or am I seeing wrong?
Also, how could I fix this to pass the entire array? Would I be passing the address of Array?