【发布时间】:2013-09-27 19:39:55
【问题描述】:
#include<iostream>
#include<string>
#include<iterator>
using namespace std;
int main()
{
string a("hello world");
for(auto it = a.begin(); it != a.end() && !isspace(*it); it++ )
{
*it = toupper(*it);
}
cout<<a;
}
我得到两个错误。一个如前所述,“自动更改 c++11 中的含义”,另一个是“!= 未定义运算符”。以前没遇到过这个问题。
因为书上的建议,我只使用自动运算符。
我是初学者,大约 2 个月后开始学习。 赶不上。
【问题讨论】:
-
使用
-std=c++11编译。此外,最好通过std::transform或范围 for 循环来完成。 -
编译器启用了c++11。
-
那我想换个新版本吧。
-
“自动更改含义”真的是错误还是只是信息警告?
-
将警告信息添加到问题中,而不是在评论中发布。
标签: c++ c++11 iterator operators