难道y0不能作为数组名?(语言-c++)

遇到一个奇怪的问题哈

#include 
using namespace std;
int y0[20002];
int main(){
    for(int i=1;i<=10;i++){
        cin>>y0[i];
    }
    for(int i=1;i<=10;i++){
        cout<' ';
    }
}

运行上面这个平平无奇的代码,编译器警告[Warning] built-in function 'y0' declared as non-function [-Wbuiltin-declaration-mismatch]。而将y0换成x0,z0则无此问题。请问原因是什么

VS中
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\corecrt_math.h 982行中y0被定义为函数了

gcc没有这个问题

img