#include <string>
#include <sstream>
#include <iostream>
#define ERR_MSG(inputs) errMsg((static_cast<std::ostringstream&>(std::ostringstream().flush() << inputs)).str()) // 2
char* errMsg(const std::string& msg) // use with 1 & 2
{
std::cout << "\nERROR: " << msg << "\n\n";
}
int main()
{
ERR_MSG("A number: " << 24 << ", a char: " << 'c' << ", that's all!");
}
I2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPHNzdHJlYW0+CiNpbmNsdWRlIDxpb3N0cmVhbT4KCiNkZWZpbmUgRVJSX01TRyhpbnB1dHMpIGVyck1zZygoc3RhdGljX2Nhc3Q8c3RkOjpvc3RyaW5nc3RyZWFtJj4oc3RkOjpvc3RyaW5nc3RyZWFtKCkuZmx1c2goKSA8PCBpbnB1dHMpKS5zdHIoKSkgLy8gMgpjaGFyKiBlcnJNc2coY29uc3Qgc3RkOjpzdHJpbmcmIG1zZykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB1c2Ugd2l0aCAxICYgMgp7CiAgICBzdGQ6OmNvdXQgPDwgIlxuRVJST1I6ICIgPDwgbXNnIDw8ICJcblxuIjsKfQoKaW50IG1haW4oKQp7CiAgICBFUlJfTVNHKCJBIG51bWJlcjogIiA8PCAyNCA8PCAiLCBhIGNoYXI6ICIgPDwgJ2MnIDw8ICIsIHRoYXQncyBhbGwhIik7Cn0K