Seite 1 von 1

[C++] Lambda Ausdrücke

Verfasst: 25.08.2011, 01:14
von Jonathan
Ich hab mich mal an C++11 Lambdas rangewagt. Folgendes geht allerdings nicht (VC2010 Prof):

Code: Alles auswählen

void main()
{
	int a,A;
	[=](){a+A;}();
}
error C2086: 'const int &_A': Neudefinition
error C2661: '`anonymous-namespace'::<lambda0>::<lambda0>': Keine überladene Funktion akzeptiert 2 Argumente
Mit a,b funktioniert das ganze. Sind da die Variablen Bezeichner auf einmal nicht mehr Case-sensitive? Fände ich merkwürdig, aber ich hab auf die Schnelle auch nix dazu gefunden.

Re: [C++] Lambda Ausdrücke

Verfasst: 25.08.2011, 12:52
von Schrompf
Da bist Du wohl über einen seltsamen Compilerfehler gestolpert. Lambdas sind ja noch sehr jung, da wird noch einiges an Detailpflege kommen, vermute ich. Ich hätte ja gedacht, dass das Lambda nicht kompiliert, weil es kein return hat und daher der Compiler den Rückgabewert der anonymen Funktion nicht bestimmen kann. Aber wahrscheinlich nimmt er dann nur void an.