“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