冒泡排序代码结果正确就是提示头文件有问题

一个简单的冒泡排序实验,代码写出来之后提示报错,

报错信息为:/tmp/ccwHtVP2.o: In function main': sort_.cpp:(.text+0x0): multiple definition of main'
/tmp/ccf4XYek.o:main.cpp:(.text+0x0): first defined here
/tmp/ccf4XYek.o: In function main': main.cpp:(.text+0x82): undefined reference to sort_array(int*, int)'
collect2: error: ld returned 1 exit status


```c
#include 


int main()
//  编程实现《冒泡排序算法》:将乱序序列arr转化为升序序列
//  函数参数:乱序整数数组arr 数组长度
//  要求输出:调用print_array(int *arr, int n)输出前三次冒泡操作后的序列,以及最终的升序序列
{
    // 请在这里补充代码,完成本关任务
    /********** Begin *********/
    int a=0,b=0,c=0,m;
    int arr[100];
    scanf("%d",&m);
    for(a=0;ascanf("%d",&arr[a]);
    }
    void print_array(int arr[100], int n);
    for(a=0;a<3;a++)
    {
        for(b=0;b-1;b++)
        {
            if(arr[b]>arr[b+1])
            {
                c=arr[b];
                arr[b]=arr[b+1];
                arr[b+1]=c;
            }
        }
         print_array(arr, m);
    
    }
     for(a=0;a-1;a++)
    {
        for(b=0;b2;b++)
        {
            if(arr[b]>arr[b+1])
            {
                c=arr[b];
                arr[b]=arr[b+1];
                arr[b+1]=c;
            }
        }
      
    } 
    print_array( arr,  m);
    return 0;
    /********** End **********/
}

void print_array(int arr[100], int n)
// 打印数组
{
    if(n==0){
        printf("ERROR: Array length is ZERO\n");
        return;
    }
    printf("%d", arr[0]);
    for (int i=1; iprintf(" %d", arr[i]);
    }
    printf("\n");
}




我怀疑可能是头文件重复,但不知道具体原因。如何解决报错。

你的工程里有多个main函数吧

只能有一个main函数,其他文件的main函数注释掉