Конкат строки и числа в C ++? - PullRequest
4 голосов
/ 13 февраля 2009

Я пытаюсь объединить "(" + mouseX + "," + mouseY ")". Однако mouseX и mouseY являются целыми числами, поэтому я попытался использовать поток строк следующим образом:

std::stringstream pos;
pos << "(" <<  mouseX << ", " << mouseY << ")";
_glutBitmapString(GLUT_BITMAP_HELVETICA_12, pos.str());

И, похоже, это не работает.

Я получаю следующую ошибку:

mouse.cpp: 75: ошибка: невозможно преобразовать std::basic_string<char, std::char_traits<char>, std::allocator<char> >' to const char * 'для аргумента 2' to void _glutBitmapString (void *, const char *)'

Что я делаю не так в этой базовой строке + целочисленной конкатенации?

Ответы [ 2 ]

5 голосов
/ 13 февраля 2009

glutBitmapString() ожидает char*, и вы отправляете ему строку. используйте .c_str () в строке следующим образом:

_glutBitmapString(GLUT_BITMAP_HELVETICA_12, pos.str().c_str());
3 голосов
/ 13 февраля 2009

Попробуйте

_glutBitmapString(GLUT_BITMAP_HELVETICA_12, pos.str().c_str());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...