Также должен работать в GCC.

ю, что это общая проблема, но в поисках ссылок и других материалов я не нахожу четкого ответа на этот вопрос.

Рассмотрим следующий код:

#include <string>

// ...
// in a method
std::string a = "Hello ";
std::string b = "World";
std::string c = a + b;

Компилятор говорит мне, что не может найти перегруженный оператор дляchar[dim].

Означает ли это, что в строке нет оператора +?

Но в нескольких примерах есть такая ситуация. Если это неправильный способ объединить больше строк, каков наилучший способ?