这是语义错误还是语法错误?

gpu*_*guy 5 c compiler-errors

#include "stdio.h"

int main( )
{


    int x, y;

    y=x(5);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

MSVC 2010编译器给出以下错误:

Error   1   error C2064: term does not evaluate to a function taking 1 arguments    c:\users\ae\documents\visual studio 2010\projects\text\text\text.cpp    13

2   IntelliSense: expression must have (pointer-to-) function type  c:\users\ae\documents\visual studio 2010\projects\text\text\text.cpp    13
Run Code Online (Sandbox Code Playgroud)

这是语义错误还是语法错误?

use*_*421 2

如果是语法错误,它会这样说。这是一个语义错误。这一切都与代码中标识符的含义有关。