void issueWarning(Warning warning, std::string message) {
// use Warning enum to increment a counter in a std::map
// print the message
}
std::string formatTileMessage(int a, int b) {
// complex message formatting is handled by helper methods
}
// the calling code would do the following:
issueWarning(Warning::BAD_TILE, formatTileMessage(foo, 10));
We could have something like the following: