Condividi tramite


Errore del compilatore C2601

'function': le definizioni delle funzioni locali non sono valide

Osservazioni:

Il codice tenta di definire una funzione all'interno di una funzione.

In alternativa, potrebbe esserci una parentesi graffa aggiuntiva o mancante prima della posizione dell'errore C2601.

Esempi

Definire la funzione all'interno di una funzione

Le espressioni lambda possono essere usate per emulare il comportamento delle funzioni locali:

// 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);
}

Parentesi graffa di chiusura mancante

Se a una funzione precedente manchi una parentesi graffa di chiusura, la funzione successiva verrà considerata una funzione locale.

// C2601b.cpp
void func()
{
// missing '}' brace here

int main() {}   // C2601