
c++ auto问题。初学者。
IDE用VS2010编译报错用WXDEVC++(7.4.2)编译也错误。是IDE的问题吗?因为有auto:这样都会报错。是不支持这样定义吗?wxdecc++是警告可以编译...
IDE 用VS2010编译 报错 用WX DEV C++(7.4.2)编译也错误。是IDE的问题吗?因为有 auto : 这样 都会报错。是不支持这样定义吗?
wx dec c++ 是警告 可以编译 但是没有转换为大写。 展开
wx dec c++ 是警告 可以编译 但是没有转换为大写。 展开
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 循环”)。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询