私はstd::string
にunsigned char
を連結しようとしていますが、それはchar
ため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
}
いい話。あなたは文書を見ましたか?利用可能なオーバーロードを確認するには?何を見つけましたか? –
's + = static_cast(a);'を試してください。 –
@Kerrek:もし、あなたがパラノイドで、 'a'の値がどこから来たのかわからないなら、' a> CHAR_MAX'を実行すると悪いことを防ぐ 's + = boost :: numeric_cast(a) 。 –