【问题标题】:MSVS Error in for loop [closed]for循环中的MSVS错误[关闭]
【发布时间】:2015-12-17 22:34:38
【问题描述】:

我在下面一行的 MSVS 中遇到错误。任何帮助表示赞赏。

for (unsigned i = 0; i < password.size; i++) {
    bool ok(const string & password) { 
    bool seenUpper = false;
    bool seenLower = false;
    bool seenDigit = false; 
    for (unsigned i = 0; i < password.size; i++) {
        char c = password[i];
        if (isupper(c)) { seenUpper = true; }
        if (islower(c)) { seenLower = true; }
        if (isdigit(c)) { seenDigit = true; }
    }
    return seenUpper; 
    return seenLower;
    return seenDigit;
}

【问题讨论】:

  • password.size() - 案件已解决。
  • 什么错误?我在您的帖子中没有看到任何错误消息。 编辑您的帖子并包含它们可能是个好主意。
  • 等等,无条件return连续三个值有问题。

标签: c++ visual-studio for-loop


【解决方案1】:

std::stringsize 成员是一个函数。您需要通过附加() 对其进行评估。它返回一个size_type 类型的值,该值可能已签名也可能未签名。您应该为循环索引变量使用相同的类型。

考虑到您有 3 个连续的 return 语句,您还应该考虑提高编译器的警告级别。它会教你很多关于你的代码的知识。

【讨论】:

    猜你喜欢
    • 2020-09-03
    • 2015-08-09
    • 2023-03-07
    • 2021-12-20
    • 2012-12-22
    • 1970-01-01
    • 2021-08-14
    • 2018-08-12
    • 1970-01-01
    相关资源
    最近更新 更多