Я пытаюсь объединить в unsigned char
к std::string
, но это дает мне ошибку говоря «operator+
не определен»Как я могу скомпоновать `unsigned char` в` std :: string`?
#include <string>
int main()
{
unsigned char a = 't';
std::string s = "uoyriri";
s = s + a; // error: no match for operator
}
Хорошая история. Вы посмотрели документацию? Чтобы узнать, какие перегрузки доступны _are_? Что вы узнали? –
Попробуйте 's + = static_cast (a);'. –
@ Kerrek: или если вы параноик и не знаете, откуда берется значение 'a', попробуйте' s + = boost :: numeric_cast (a) ', что предотвратит плохость, когда' a> CHAR_MAX' , –