没有重载函数 toupper 的实例与参数列表匹配

No instance of overloaded function toupper matches the argument list

我正在尝试使用 toupper 将字符串中的第一个字母转换为大写,但它一直显示以下错误代码:

no instance of overloaded function"toupper"matches the argument list

代码:

#include<iostream>
#include<cstring>
#include<cctype>
using namespace std ;

int main()
{
    string s("some string");

    if(s.begin() != s.end()){
        auto c = s.begin();
        c = toupper (c);
    }
    return 0 ;
}

使用 * 运算符取消引用迭代器将完成工作:

*c = toupper (*c);