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