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.
'retourtype': alle retourexpressies moeten worden afgeleid van hetzelfde type: voorheen was het 'retourtype'
Opmerkingen
Een lambda moet zijn terugkeerwaarde specificeren, tenzij deze een enkele return-uitdrukking bevat. Als een lambda meerdere returnuitspraken bevat, moeten ze allemaal hetzelfde type hebben.
Deze fout corrigeren
- Geef een volgorde retourtype op voor de lambda. Controleer of alle retourwaarden van de lambda van hetzelfde type zijn of impliciet kunnen worden geconverteerd naar het retourtype.
Example
In het volgende voorbeeld wordt C3487 gegenereerd omdat de retourtypen van de lambda niet overeenkomen:
// 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();
}