apoio Lambda expressões no VS2008 SP1
-
19-08-2019 - |
Pergunta
Existe suporte para expressões lambda do C ++ 0x no Visual Studio 2008 SP1? Exemplo abaixo me joga sintaxe erros. Existe alguma bandeira '-Cpp0x' para compilador ou algo assim?
#include <algorithm>
#include <iostream>
#include <ostream>
#include <vector>
using namespace std;
int main()
{
vector<int> v;
for (int i = 0; i < 10; ++i)
{
v.push_back(i);
}
for_each(v.begin(), v.end(), [](int n) { cout << n << " "; });
cout << endl;
}
Agradecemos antecipadamente.
Solução
Consulte Stackoverflow questão # 146381
Em termos simples: não. Visual Studio 2010 apoiará C ++ 0x até certo ponto, mas não estou certo se isso irá incluir expressões lambda.
Outras dicas
Você pode ... tipo de.
O Visual C ++ 2008 compilador não suporta lambdas, mas você pode certamente utilizar o Visual C ++ 2010 compiladores a partir do Visual Studio 2008! !
Basta instalar Visual C ++ 2010 Express, e em seguida, abra o Visual Studio 2008 e vá para:
Tools
->
Options->
Project e Diretórios Solutions->
VC ++
e, em seguida, adicione as seguintes entradas:
-
Para a plataforma Win32, inserção
$(ProgramFiles)\Microsoft Visual Studio 10.0\VC\bin
nocomeçando , e$(ProgramFiles)\Microsoft Visual Studio 10.0\Common7\IDE
noend . -
Para a plataforma x64, inserção
$(ProgramFiles)\Microsoft Visual Studio 10.0\VC\bin\amd64
no início .
Agora você pode usar todo o VC ++ 2010 funcionalidades do Visual Studio 2008! :)
Visual Studio não suporta, em vez usar a biblioteca Boost.