Если LOC
заменяется строковым литералом, то вы можете просто объединить их, чтобы получить новый строковый литерал:
LOC(dialog_title) " - " LOC(dialog_mode)
В противном случае ответ зависит от того, ожидает ли базовый класс std::string
:
std::string(LOC(dialog_title)) + " - " + LOC(dialog_mode)
или строка в стиле C, которую он собирается скопировать в буфер, которым он управляет:
(std::string(LOC(dialog_title)) + " - " + LOC(dialog_mode)).c_str()
или строка в стиле C, на которую он просто сохраняет указатель, в этом случае лучший вариант - поменять базовый класс на менее злой.