Ray Hamel

Results 2 issues of Ray Hamel

As mentioned in the original PR #9 , fixes a potential issue when the user has called `std::ios_base::sync_with_stdio(false)`

Extends #11 by taking advantage of compile-time information to generate a single error message string (instead of 3) before printing.