问题描述
我想制作一对int和string。 为:
pair<int,string> car ;
car.first = 10;
car.second = 'Sarim';
cout<<car.first<<endl;
cout<<car.second;
“ sarim”在输出中是否转换为“ m”?
解决方法
使用
car.second = "Sarim";
该对中的第二个是std::string
,而不是字符,因此您可以提供std::string
或const char*
来构造一个。
请注意,单引号用于字符,而我使用的双引号则是const char*
,可用于构造std::string
r.second = 'Sarim';
是错误的。单引号用于字符常量,而您所拥有的不是单个字符。
你想要
r.second = "Sarim";
用于多字符文字。
, C ++中的 string 用 double 引号("
)标记,单引号标记字符(因此仅存储一个字符)。警告是在这里告诉您,您的“字符”太大(实际上是因为它应该是字符串)。