Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
lambda, která byla zadána tak, aby měla návratový typ void, nemůže vrátit hodnotu.
Poznámky
Kompilátor vygeneruje tuto chybu, pokud výraz lambda, který určuje void jako návratový typ hodnotu; nebo když výraz lambda obsahuje více než jeden příkaz a vrátí hodnotu, ale nezadá jeho návratový typ.
Oprava této chyby
Nevrací hodnotu z výrazu lambda nebo
Zadejte návratový typ výrazu lambda nebo
Zkombinujte příkazy, které tvoří tělo výrazu lambda, do jednoho příkazu.
Example
Následující příklad generuje C3499, protože tělo výrazu lambda obsahuje více příkazů a vrací hodnotu, ale výraz lambda neurčí návratový typ:
// C3499a.cpp
int main()
{
[](int x) { int n = x * 2; return n; } (5); // C3499
}
Následující příklad ukazuje dvě možná řešení na C3499. První řešení poskytuje návratový typ výrazu lambda. Druhé rozlišení kombinuje příkazy, které tvoří tělo výrazu lambda do jednoho příkazu.
// 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);
}