数据结构将两个有序的顺序表合并成一个新的有序表


    void merge( SqList A,SqList B, SqList &C)
{
    int i = 0, j = 0, k = 0; 
    while (i < A.len&&j < B.len) 
    {
        if (A.data[i]<B.data[j]) 
        {
            C.data[k] = A.data[i];
            i++;
            k++;
        }
        else// (A.elem[i]>B.elem[j])
        {
            C.data[k] = B.data[j];
            j++;
            k++;
        }
    }
    while (i<A.len)
    {
        C.data[k] = A.data[i]; 
        i++;
        k++;
    }
    while (j<B.len)
    {
        C.data[k] = B.data[j];
        j++;
        k++;
    }
    C.len = k;
    return  SqList &C;
}

为什么最后一句 return SqList &C;会报错?

你声明的函数类型是void, 怎么能返回具体的值呢
该函数的结果会保存在C里面, 不需要额外返回C