共用方式為


編譯器錯誤 C2601

'function': 本機函式定義不合法

備註

程式代碼會嘗試在函式內定義函式。

或者,在 C2601 錯誤的位置之前,可能會有多餘的或者缺少的大括弧。

範例

定義函式內的函式

Lambda 表達式 可用來模擬本機函式的行為:

// 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