Mam problemy z pracy z funkcji lambda w kompilator Intela, w szczególności, poniższy kod nie będzie kompilować:std :: funkcja <> i kompilator wersja Intel 11,1
template<typename T>
std::function<T (int)> make_func(T x) {
return [=](int index) -> T
{
return x;
};
}
błędu I Otrzymasz:
Kod kompiluje się i działa poprawnie na moim Macu (Macports gcc wersja 4.5). Błąd działa, gdy używamy kompilatora Intel w wersji 11.1. Czyni zaakceptować funkcje lambda (z -std = C++ 0x opcji), takie jak:
auto lam = [=](int j) -> int {
printf("testing for lambdas: %d\t%d\n", n, j);
return n;
};
int g = lam(7);
Wersja gcc zainstalowany w miejscu pracy jest 4.1.2, więc zgaduję, że standardowe biblioteki stary?
/bin/libc.so.6
mówi, że to wersja 2.5 skompilowane z gcc 4.1.2.
Czy istnieje sposób obejścia tego?
Dzięki z góry za wszelką pomoc
Czy dodałeś ''? –