[英]Conflicting Types Error when Passing 2D Array to Function in C
我試圖將一個二維數組傳遞給我在程序中定義的函數,但由於某種原因,我不斷收到有關函數調用和定義類型沖突的錯誤。 我不完全確定是什么導致了這個問題,因為我不僅包含了正確的標題,而且還在函數中使用了正確的參數類型,表明它是一個二維數組。 下面是我正在編寫的代碼。
#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 上以前的帖子后,我似乎無法找到可能導致此問題的原因。 我知道如果我將數組轉換為指針,這個問題可能會得到解決,但是不能將二維數組傳遞給函數嗎? 如果有人能幫我找到解決這個問題的方法,我將不勝感激。 謝謝你。
您需要在主函數之前定義它或將函數原型放在那里
bool testFunction(char array[][6], int i, int j);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.