次の方法で共有


コンパイラ エラー C2601

'function': ローカル関数の定義が無効です

注釈

コードは関数内で関数を定義しようとします。

または、C2601 エラーの場所の前に、波括弧が追加または不足している可能性があります。

例示

関数内で関数を定義する

ラムダ式は、 ローカル関数の動作をエミュレートするために使用できます。

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

閉じかっこがありません

前の関数で右中かっこが欠けている場合、次の関数はローカル関数として処理されます。

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

int main() {}   // C2601