E0413: 不存在从 “std::string“ 到 “const char *“ 的适当转换函数

E0413: 不存在从 “std::string“ 到 “const char *“ 的适当转换函数,第1张

E0413: 不存在从 “std::string“ 到 “const char *“ 的适当转换函数

问题来源:PAT乙级1048

string A, B;
cin >> A >> B;

if(strcmp(A,B)<0){

}
//错误代码: E0413: 不存在从 "std::string" 到 "const char *" 的适当转换函数

错误原因:

E0413: 不存在从 "std::string" 到 "const char *" 的适当转换函数
if(strcmp(A,B)<0){}
即在c++中,对于string型不可以使用strcmp()函数,只有char*类型才可以
同样,char*类型不可以使用string类型的string+=,只有string类型才可以
即,不可以让字符串进行类似整形的数值运算

如果需要使用string类型的特性功能,可以调用length()函数

//使用length()函数进行长度比较
if (A.length() < B.length()) {
	A += string(B.length() - A.length(), '0');
}
else if (A.length() > B.length()) {
	B += string(A.length() - B.length(), '0');
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5433771.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存