-C 中的 Wimplicit 函数声明

-Wimplicit-function declaration in C

我不明白这是怎么隐含的我 return 每个函数中都有一个 int,而且它们都在 main 函数之前。老实说,第一次看到这个有人给我发了一段很长的调试代码,有很多错误,但为什么这不起作用,我错过了什么

int findString(char matrix[ROW][COLUNM],char str1[],int length){
    int left,right,top,down,result;



    left=left2_right(matrix,str1,length);-THESE 4 CALLS GIVE THE WARNINGS
    right=rigth2_left(matrix,str1,length);
    top=top_bottom(matrix,str1,length);
    down=bottom_top(matrix,str1,length);

    if(left != -1 ){result=left;}
    if(right != -1 ){result=right;}
    if(top != -1 ){result=top;}
    if(down != -1 ){result=down;}

return result;
}

这是函数之一

int left2_right(char matrix[ROW][COLUNM],char str1[],int length){

    int i = 0, j, counting = 0, wordcnt;
    //int length = computeLength(str1);   //returns legth of string   
    int index = -1;

    for (i = 0; i < ROW; i++)
    {
        for (j = 0; j < COLUNM; j += 1)
        {
            if (matrix[i][j] == str1[0])
               {    counting = 0;
                for (wordcnt = 0; wordcnt < length; wordcnt++)
                {
                 if (matrix[i][j + wordcnt] == str1[wordcnt])
                 {
                    counting++;
                 }
             }

            if (counting == length)
            {
                index = (i *12) + j;
            }
        }
    }
}

return index;
}

其他功能排在 main 功能之前是不够的。每个函数必须在它被用于任何其他函数之前出现。您可能在解释警告的其他 4 个函数之前定义了 findString

要么重新排序函数,以便在其他地方使用它们之前定义它们,要么声明源文件顶部的函数,这样相对顺序就不会事.