【发布时间】:2018-07-27 13:36:56
【问题描述】:
我正在编写一个与字符串有关的练习:输入一个字符串(不管是 char[] 还是 C+11 字符串,所以我选择了后者),然后在给定字符串中找到最长(具有最多字符)的升序子字符串.我的想法是扫描整个字符串并将str[i] 与str[i+1] 进行比较。我用stoi把每个字符转成int,看起来是这样的
if (stoi(str[i]) < stoi(str[i+1]))
但它反而给了我错误:
error C2665: 'std::stoi': none of the 2 overloads could convert all the argument types
我该如何解决?提前致谢。
【问题讨论】:
-
如果您阅读了整个错误消息,它应该会告诉您
std::stoi需要 字符串,而不是单个字符。 -
"我用 stoi 将每个字符转换为 int" 只是不要,直接使用
chars -
char是整数类型 - 你不需要转换任何东西