ICC编译时出现C ++ 0x问题

for each (auto obs in observers)
     *obs = true;
我有这个与icc编译的问题。 错误:无法推断出“自动”类型(需要初始化程序) 请帮忙解决上述问题。谢谢。     
已邀请:
此语法在C ++中无效。试试这个:
for (auto obs_iter=observers.begin(); obs_iter != observers.end(); ++obs_iter)
    **obs_iter = true;
(这假定
observers
存储指向对象的指针) 如果编译器支持基于范围的for循环,则可以执行以下操作:
for (auto &obs: observers)
    *obs = true;
    
使用C ++ 0x(或更确切地说是C ++ 11)基于范围的for循环,您可以执行以下操作:
for (auto& i : observers) {
   i = true;
}
    

要回复问题请先登录注册