Was playing around with boost multi-threading (storing all files in a folder and it's sub-folders in a vector) and while I understand the core concepts there was one thing that I didn't quite get (and didn't' find online documentation for). Take below code snippet...
You could write just getFiles, the compiler would generate a pointer to that function if it can't find a way to use the reference. It's very much like how pointers are constructed from arrays sometimes.