警告:字符常量对其类型而言太长 car.second = 'Sarim';
warning: character constant too long for its type car.second = 'Sarim';
我想做一对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
C++ 中的 string 使用 double-quotes ("
) 标记,single 引号标记一个 字符 (因此只存储一个字符)。此处的警告告诉您您的“字符”太大(确实因为它应该是一个字符串)。
r.second = 'Sarim';
是错误的。单引号用于字符常量,你所拥有的是 而不是 单个字符。
你要
r.second = "Sarim";
对于多字符文字。
我想做一对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
C++ 中的 string 使用 double-quotes ("
) 标记,single 引号标记一个 字符 (因此只存储一个字符)。此处的警告告诉您您的“字符”太大(确实因为它应该是一个字符串)。
r.second = 'Sarim';
是错误的。单引号用于字符常量,你所拥有的是 而不是 单个字符。
你要
r.second = "Sarim";
对于多字符文字。