Sdílet prostřednictvím


Chyba kompilátoru C2601

'function': Definice místních funkcí jsou neplatné.

Poznámky

Kód se pokusí definovat funkci v rámci funkce.

Nebo může před umístěním chyby C2601 chybět nadbytečná nebo chybějící složená závorka.

Příklady

Definování funkce v rámci funkce

Výrazy lambda lze použít k emulaci chování místních funkcí:

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

Chybějící uzavírací složená závorka

Pokud předchozí funkce nemá uzavírací složenou závorku, následující funkce se považuje za místní funkci.

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

int main() {}   // C2601