Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
een lambda die is opgegeven om een ongeldig retourtype te hebben, kan geen waarde retourneren
Opmerkingen
De compiler genereert deze fout wanneer een lambda-expressie die void als retourtype opgeeft een waarde retourneert, of wanneer een lambda-expressie meer dan één instructie bevat en een waarde retourneert, maar het retourtype niet specificeert.
Deze fout corrigeren
Geef geen waarde op uit de lambda-expressie of
Geef het retourtype van de lambda-expressie op of
Combineer de instructies waaruit de hoofdtekst van de lambda-expressie bestaat in één instructie.
Example
In het volgende voorbeeld wordt C3499 gegenereerd omdat de hoofdtekst van een lambda-expressie meerdere instructies bevat en een waarde retourneert, maar de lambda-expressie geeft het retourtype niet op:
// C3499a.cpp
int main()
{
[](int x) { int n = x * 2; return n; } (5); // C3499
}
In het volgende voorbeeld ziet u twee mogelijke oplossingen voor C3499. De eerste resolutie biedt het retourtype van de lambda-expressie. De tweede resolutie combineert de instructies die de hoofdtekst van de lambda-expressie vormen in één instructie.
// C3499b.cpp
int main()
{
// Possible resolution 1:
// Provide the return type of the lambda expression.
[](int x) -> int { int n = x * 2; return n; } (5);
// Possible resolution 2:
// Combine the statements that make up the body of
// the lambda expression into a single statement.
[](int x) { return x * 2; } (5);
}