Я переношу исходный код, и программа конвертера не конвертировала конкатенацию встроенных строк с целыми числами. Теперь у меня много кода с такими выражениями:
f("some text" + i);
Так как C/С++ интерпретирует это как индекс массива, f
получит "some text"
или "ome text"
, или "me text"
...
Мой исходный язык преобразует конкатенацию строки с int как конкатенацию строки. Теперь мне нужно идти по строкам через исходный код и вручную изменить предыдущее выражение:
f("some text" + std::to_string(i));
Программе преобразования удалось преобразовать локальные переменные "String
" в "std::string
", в результате получились выражения:
std::string some_str = ...;
int i = ...;
f(some_str + i);
Это было легко исправить, потому что с такими выражениями компилятор С++ выводит ошибку.
Есть ли какой-нибудь инструмент для автоматического поиска таких выражений в исходном коде?