我試圖將一個二維陣列傳遞給我在程式中定義的函式,但由于某種原因,我不斷收到有關函式呼叫和定義型別沖突的錯誤。我不完全確定是什么導致了這個問題,因為我不僅包含了正確的標題,而且還在函式中使用了正確的引數型別,表明它是一個二維陣列。下面是我正在撰寫的代碼。
#include <stdio.h>
#include <stdbool.h>
int main()
{
char array[6][6] = {
{'.', '.', '.', '.', '.', '.'},
{'.', '.', '.','.', '.', '.'},
{'.', '.', '.', '.', '.', '.'},
{'.', '.', '.', '.', '.', '.'},
{'.', '.', '.', '.', '.', '.'},
{'.', '.', '.', '.', '.', '.'}
};
bool success = testFunction(array, 0, 1);
return 0;
}
bool testFunction(char array[][6], int i, int j){
return true;
}
這是我運行程式后收到的錯誤:
main.c:21:6: error: conflicting types for ‘testFunction’
21 | bool testFunction(char array[][6], int i, int j){
這真的讓我感到困惑,在查看了 StackOverflow 上以前的帖子后,我似乎無法找到可能導致此問題的原因。我知道如果我將陣列轉換為指標,這個問題可能會得到解決,但是不能將二維陣列傳遞給函式嗎?如果有人能幫我找到解決這個問題的方法,我將不勝感激。謝謝你。
uj5u.com熱心網友回復:
您需要在主函式之前定義它或將函式原型放在那里
bool testFunction(char array[][6], int i, int j);
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/335247.html
