Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
"returtyp": alla returuttryck måste härledas till samma typ: tidigare var det "returtyp"
Anmärkningar
En lambda måste ange sin returtyp om den inte innehåller en enda retursats. Om en lambda innehåller flera returnsatser måste alla ha samma typ.
Så här åtgärdar du det här felet
- Ange en avslutande returtyp för lambda. Kontrollera att alla returer från lambda är av samma typ eller att de implicit kan konverteras till returtypen.
Example
I följande exempel genereras C3487 eftersom returtyperna för lambda inte matchar:
// C3487.cpp
// Compile by using: cl /c /W4 C3487.cpp
int* test(int* pi) {
// To fix the error, uncomment the trailing return type below
auto odd_pointer = [=]() /* -> int* */ {
if (*pi % 2)
return pi;
return nullptr; // C3487 - nullptr is not an int* type
};
return odd_pointer();
}