在 C++ 中是否有 auto &c 的替代方案

问题描述

我是这个平台的新手和新手。我正在尝试运行一个程序来测试带有大写、小写字母和至少一个数字的有效密码。该计划的一部分是...

bool hasUpperCase(const string password)
{
    for (auto &c : password)
    {
        if (isupper(c))
            return true;
    }
    return false;
}

我试过用我的编译器 Falcon C++ 编译整个程序,但它一直给我这个错误

'auto' 将改变 C++0x 中的含义;请删除

如何删除它以及它的替代方法是什么?

程序在其他编译器上运行,例如 Onlinegdb.com 和 C++ shell

解决方法

您使用的是过时的(您的)编译器,该编译器承认 C++11 中的重大更改(10 年前(!)前已标准化)。每个现代编译器都至少以 C++11 为基础进行编译,这将消除此错误。

简单且唯一好的解决方案是更新您的编译器,如果您由于某种原因不能这样做,则将其更改为 char&(但实际上请更新)。