1

XCode4.5.2で次のテストコードを動作させることができませんでした。

#include<algorithm>
#include<vector>
using namespace std;
int main()
{
  vector<int> v = {1, 2, 3};
  for_each(v.begin(), v.end(), [](int e){cout<<e;});
  return 0;
}

構文チェッカーは、[]記号の前に「期待される式」と言います。
これは、XCode 4.5.2がラムダをサポートしていないことを意味しますか?

ラムダを有効にできるプロジェクトのセットアップ、コンパイルフラグ、またはその他のものはありますか?

私のコンパイラが正しいバージョンではない可能性はありますか?(Apple LLVMコンパイラ4.1)

私はSOや他のフォーラムでたくさん読んだことがあり、バージョン番号は紛らわしいと言われていますが、XCode4.4+がラムダをサポートしていることに誰もが同意しているようです。ここの真実は何ですか?

助けてくれてありがとう!

4

1 に答える 1

2

Xcode4.5.2はラムダをサポートします。C ++ 11モードでよろしいですか?ビルド設定に移動します。C++言語方言オプションがあります。C++11またはのいずれかに設定する必要がありますGNU++11。それ以外の場合は、C ++ 11を使用していないため、ラムダがないことを意味します。

于 2012-12-04T22:26:37.937 に答える