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;
}