Для этого нет возможности использовать C++, строковые литералы таковы, и они обычно постоянны. Вам придется либо использовать перегруженный строковый класс, либо вам нужно заставить showMessage принимать аргументы и делать для вас какое-то форматирование.
// simple version - take a single string.
void showMessage(const std::string& message) {
// your old code, e.g. MessageBoxA(NULL, message.c_str(), "Message", MB_OK);
}
// complex version, take lots of strings.
void showMessage(std::initializer_list<std::string> args) {
std::string message = "";
for (auto str : args)
message += str;
showMessage(message);
}
int main(int argc, const char* argv[]) {
showMessage("Simple version");
showMessage({ "This program is: ", argv[0], ". Argument count is: ", std::to_string(argc) });
return 0;
}