这个为啥组建老报错?

做算法任务,这个为啥组建老报错?
题目:运用递归算法计算并显示输出n!(n属于{10,11,…,19})。
用的软件:v6.0
代码:

#include
int fun(int a)
{
    if(a<=1)
    return 1;
    return(a*fun(a-1));
}
int main()
{
    int arr[10] = {10,11,12,13,14,15,16,17,18,19};
    int a,b,i;
    for(i = 0; i <10; i++){
    a=arr[i];
    b=fun(a);
    printf("%d!=%d\n",a,b);
    }
    return 0;
}


img

工程里还有个t.cpp,也定义了相同的fun函数了。导致重定义,换个函数名就行了