Probleme mit for-Schleifen in Lambdas

9

Ich schreibe gerade ein kleines Projekt, das ich vor einiger Zeit geschrieben habe, und ersetze Funktionszeiger mit std::function und lambdas.

Dabei stolperte ich über ein Problem mit for-Schleifen in Lambdas. in Visual Studio 2010 (mit SP1) generiert seltsame Fehler, wenn For-Schleifen innerhalb von Lambdas verwendet werden, wenn das Lambda im Dateibereich definiert ist:

%Vor%

folgendes Snippet kompiliert jedoch gut:

%Vor%

Beide Snippets kompilieren mit MinGW GCC 4.7.

Hat jemand anderes dieses Verhalten auch beobachtet? Ist das ein Fehler in der Lambda-Implementierung von Visual Studio? Kennen Sie Workarounds?

  

Bearbeiten:
  Fehlerbericht auf Microsoft Connect:
Ссылка

    
smerlin 08.04.2011, 18:47
quelle

1 Antwort

5

Ich kann dieses Verhalten in Visual Studio 2010 RTM überprüfen. Es scheint nur auf Schleifen beschränkt zu sein, da die folgenden Kompilierungen gut funktionieren.

%Vor%

Ich würde Microsoft definitiv auf dieses Problem hinweisen, indem ich einen Fehler bei connect einreiche

Hinweis: Ich weiß nicht 100%, ob dies ein Fehler ist, aber Beweis legt nahe, dass es

ist     
JaredPar 08.04.2011, 19:05
quelle