Это может показаться тривиальным для обычных пользователей C++, но в настоящее время я пересматриваю C++ снова и снова. У меня есть функция, которая принимает int&
, и я хотел бы добавить это значение в строку для оператора печати. Итак, у меня есть что-то вроде этого:Преобразование int & в строку
std::string getTest(void* dataGroup, int& xWidth, int& yHeight)
{
std::string results = "";
results += "\nxWidth is: " + xWidth;
return results;
}
который не работает, когда я его вызываю. Каков правильный способ преобразования значения pass-by-reference int & в форму, которую можно добавить в строку?
Вы не можете этого сделать. Используйте, например: 'results + =" \ nxWidth: "+ std :: to_string (xWidth);'. Пожалуйста, подумайте о том, чтобы сделать немного больше исследований перед публикацией здесь. ' –
http://en.cppreference.com/w/cpp/string/basic_string/to_string, http://stackoverflow.com/questions/5590381/easiest-way-to-convert-int-to-string-in -c, http://stackoverflow.com/questions/29333397/how-to-convert-int-to-string, – chris
Одна из сторон оператора '+' должна быть типа 'std :: string' для этого работать. У вас есть 'const char const *' и 'int &'. Они несовместимы. Вы взглянули на сообщение об ошибке, которое должен метать компилятор? – Qix