Поддерживаются ли лямбды в XCode 4.5?

Я не смог заставить следующий тестовый код работать в XCode 4.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 и других форумах, и они говорят, что номера версий сбивают с толку, но все, похоже, согласились с тем, что XCode 4.4+ поддерживает лямбды. Какая правда здесь?

Спасибо за любую помощь!

1

Решение

Xcode 4.5.2 поддерживает лямбды. Вы уверены, что находитесь в режиме C ++ 11? Зайдите в настройки вашей сборки. Есть вариант диалекта языка C ++. Должно быть установлено либо C++11 или же GNU++11, Все остальное будет означать, что вы не используете C ++ 11 и, следовательно, не имеете лямбды.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]