Delen via


Compilerfout C2601

'functie': lokale functiedefinities zijn ongeldig

Opmerkingen

Code probeert een functie binnen een functie te definiëren.

Of er kan een extra/ontbrekende accolade zijn vóór de locatie van de C2601-fout.

Voorbeelden

Functie definiëren binnen een functie

Lambda-expressies kunnen worden gebruikt om het gedrag van lokale functies te emuleren:

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

Ontbrekende accolade sluiten

Als een voorgaande functie een sluitingsaccolade mist, wordt de volgende functie als een lokale functie behandeld.

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

int main() {}   // C2601