c++ auto问题。初学者。

IDE用VS2010编译报错用WXDEVC++(7.4.2)编译也错误。是IDE的问题吗?因为有auto:这样都会报错。是不支持这样定义吗?wxdecc++是警告可以编译... IDE 用VS2010编译 报错 用WX DEV C++(7.4.2)编译也错误。是IDE的问题吗?因为有 auto : 这样 都会报错。是不支持这样定义吗?
wx dec c++ 是警告 可以编译 但是没有转换为大写。
展开
 我来答
百度网友da44923
推荐于2016-04-20 · 超过31用户采纳过TA的回答
知道答主
回答量:51
采纳率:0%
帮助的人:56.1万
展开全部

VS2010不支持C++11的 for ( xx : xx) 这样的循环语句,可以改造一下:

for (auto str = V.begin(); str != V.end(); ++str)
    for (auto ch = (*str).begin(); ch != (*str).end(); ++ch)
        *ch = toupper(*ch);
追问
试了一下 还是不行 error C2664: “toupper”: 不能将参数 1 从“std::_Vector_iterator”转换为“int”
那请问VS2013可以那样吗?
追答
你确定完成使用我的上面的代码么? "*ch = toupper(*ch)"这一句里的两个星号(“*”)是必须的哦,少了星号就会出现你说的那个编译错误。

根据文档显示,VS2012,VS2013都支持你的那个for格式了(这种叫“基于范围的 for 循环”)。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式