为什么msvc会抛出C2143错误

时间:2018-02-08 04:43:06

标签: c visual-studio

此代码在vs2008 amd64(python 2.7编译器)上抛出C2143

(4):错误C2143:语法错误:缺少';'在'type'之前

int f(double B)
{
    B = B;
    double largest;
    return B;
}

此更改将删除错误:

int f(double B)
{
    double largest;
    B = B;        
    return B;
}

任何人都可以解释这个问题吗?我一定是疯了。

cl.exe /c test_p.c

1 个答案:

答案 0 :(得分:2)

在C的某些版本中,您必须在函数的开头声明所有变量,这就是为什么第一个示例生成错误而第二个示例不生成错误。