My Date object works fine, I overloaded the pre-increment and post-increment operators, and those work fine too, and I have around 20 methods I wrote that use all of this, and yet this dayDifference method, when called, outputs a long negative number. And when I wrote in the code for that method "cerr << help; ", It then outputted the word "help" along with a long positive number.

The output is the same number each time I run it, but it shouldn't be outputting anything since there is no code inside.

Actually my fiance just explained it to me "Because you don't have a return statement. C++ just makes room for a return variable and if you don't return anything, whatever is in that place in memory (in your case a very long negative number) will be returned."

I thought that it may be a garbage value because we have arguments in the juncton ,the memory has allocated for those variables and has also created memory for the function. the output may bet that memory reference