使用auto类型时,我似乎遇到了迭代器问题。您将在下面找到我写的最小工作示例:
#include <iostream>
#include <string>
using std::cout;
using std::endl;
using std::string;
int main()
{
string s("some string");
for(auto it = s.begin(); it != s.end() && !isspace(*it); ++it)
*it = toupper(*it);
cout<< "string is : " << s << endl;
return 0;
}
这个小程序试图将字符串的第一个单词的字母转换为大写。当我尝试编译它但是我收到以下错误消息: 错误:'它'没有命名类型 for(auto it = s.begin(); it!= s.end()&amp;&amp;!isspace(* it); ++ it) 有谁知道为什么编译器说它没有类型?我正在使用最新版本的g ++。