Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
„function“: Lokale Funktionsdefinitionen sind nicht zulässig
Bemerkungen
Code versucht, eine Funktion innerhalb einer Funktion zu definieren.
Oder es kann eine zusätzliche/fehlende geschweifte Klammer vor der Position des C2601-Fehlers vorhanden sein.
Beispiele
Definieren einer Funktion innerhalb einer Funktion
Lambda-Ausdrücke können verwendet werden, um das Verhalten lokaler Funktionen zu emulieren:
// C2601a.cpp
int main()
{
int increment(int value) // C2601
{
return value + 1;
}
// Try the following line instead:
// auto increment = [](int value) { return value + 1; };
int two = increment(1);
}
Fehlende schließende geschweifte Klammer
Wenn einer vorangehenden Funktion eine schließende geschweifte Klammer fehlt, wird die nachfolgende Funktion als lokale Funktion angesehen.
// C2601b.cpp
void func()
{
// missing '}' brace here
int main() {} // C2601