【发布时间】:2017-08-23 01:55:14
【问题描述】:
cout 适用于字符串(又名basic_string<char>)和所有数字类型(int、char、unsigned char、double 等)。但是它无法处理basic_string<unsigned char>。
#include <iostream>
#include <string>
int main()
{
std::basic_string<unsigned char> zzz(3, 'z');
std::cout << zzz << std::endl;
return 0;
}
这不能编译
error: invalid operands to binary expression ('ostream' (aka 'basic_ostream<char>') and 'std::basic_string<unsigned char>')
我希望它的行为方式与字符串相同。 ostream 不处理std::basic_string<unsigned char> 是否有原因?
【问题讨论】: