Я пытаюсь объединить строку с размером вектора.Какой бы метод я ни использовал, я не получаю желаемого результата.Когда я использую cout
, он печатается нормально, а когда я смотрю на значение строки в моем отладчике, он выглядит как Schemes(\002)
.Проблема в том, что мне нужно возвращать строку, а не печатать прямо на консоль, поэтому я не могу использовать cout
;Я должен использовать конкатенацию.Почему строка и размер вектора не конкатенируются должным образом?
Желаемая строка: схема (2)
Выводимая строка: схема ()
Код:
using namespace std;
string s;
vector<Object> schemes;
// Add two elements to vector
// Method 1 (doesn't work)
s += "Schemes(" + schemes.size();
s += ")"; // I can't put this on the same line because I get 'expression must have integral or unscoped enum type' error
// Method 2 (doesn't work)
s += "Schemes(";
s.push_back(schemes.size());
s += ")";
// Method 3 (doesn't work)
s += "Schemes(";
s.append(schemes.size());
s += ")";