Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis 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