Подписание используется для однозначного определения блока. Больше деталей находится в Как к: Подпишите блок (Visual Studio) .
С точки зрения лучшей практики, хорошо использовать тот же ключ, пока блоки имеют различные имена.
Вы можете сделать это:
call a.assign("ok")
Таким образом, GDB сразу знает, что ему нужно вызвать функцию (а не то, что вы пытались использовать с помощью operator =
), это знает, какую функцию вызывать ( std :: string :: assign
), и ему вообще не нужно преобразовывать типы (поскольку существует перегрузка assign
, которая точно соответствует).