Есть много способов сделать это, но мой любимый:
string message(string("That value should be between ") + MIN_VALUE + " and " + MAX_VALUE);
Это дополнительное string()
вокруг первого литерала имеет все значение в мире, потому что есть перегруженный string::operator+(const char*)
, который возвращает string
, а operator+
имеет ассоциативность слева направо, поэтому превращается в цепочку operator+
звонков.