so that a particular argument type could have custom defaults if desired. However, when I use this code an integer argument now defaults to something like -8643563, i.e. it appears not to have been properly initialized.
My question, therefore, is what makes the second code sample not work, but the first to work?
EDIT EDIT: Ah fixed it now. I had implemented the relevant function (which was a template class member) outside the class and for some reason the compiler was ignoring the default arguments in the function prototype inside the class. To fix it I just put the default parameters in the header of the function definition outside the class.