错误:对';的调用没有匹配函数;显示屏幕XY';在2D表格中 我正在学习C++,我想在每种情况下都显示带有x y坐标的简单表。 但当我构建它时,我得到了以下错误: 错误:调用“displayScreenXY”时没有匹配的函数

错误:对';的调用没有匹配函数;显示屏幕XY';在2D表格中 我正在学习C++,我想在每种情况下都显示带有x y坐标的简单表。 但当我构建它时,我得到了以下错误: 错误:调用“displayScreenXY”时没有匹配的函数,c++,C++,我试着替换 void displayScreenXY(int **tab, int x, int y); 借 但我得到了这个错误: 错误:数组的元素类型“int[]”不完整 无效显示屏幕XY(整数选项卡[],整数x,整数y) 我错过了什么? 谢谢你的帮助 佐尔坦 #include <iostream> using namespace std; #define xDiv 8 #define yDiv 6 void displayScreenXY(int **tab, int x

我试着替换

void displayScreenXY(int **tab, int x, int y);

但我得到了这个错误: 错误:数组的元素类型“int[]”不完整 无效显示屏幕XY(整数选项卡[],整数x,整数y)

我错过了什么? 谢谢你的帮助

佐尔坦

#include <iostream>
using namespace std;

#define xDiv 8
#define yDiv 6


void displayScreenXY(int **tab, int x, int y);

int main(){
    int screenXY[yDiv][xDiv] = {0};

    displayScreenXY(screenXY, xDiv, yDiv);

    return 0;
}

void displayScreenXY(int **tab, int x, int y){
    for (int j = 0; j < y; ++j){
        for (int k = 0; k < x; ++k){
            std::cout << j << k << " ";
        }
        std::cout << endl;
    }
}
#包括
使用名称空间std;
#定义xDiv 8
#定义yDiv 6
无效显示屏幕XY(整数**选项卡,整数x,整数y);
int main(){
int screenXY[yDiv][xDiv]={0};
显示屏幕XY(屏幕XY、xDiv、yDiv);
返回0;
}
无效显示屏幕XY(整数**选项卡,整数x,整数y){
对于(int j=0;jstd::cout指向数组的指针的转换仅适用于多维数组的最外层维度。因此,
int[yDiv][xDiv]
不能转换为
int**

如果您将签名更改为:

void displayScreenXY(int tab[yDiv][xDiv], int x, int y);

它将按预期工作。

多维数组不是指向指针数组的指针。这回答了您的问题吗?实际上这里有两个问题。为什么
int tab[]会出现错误
在我上面链接的问答中有解释,但我意识到它对你的问题不是一个好的复制品。@最大的\u prime\u是\u 463035818它对我有帮助,但仍然不起作用。所以我做了更正,现在我得到:错误:调用“displayScreenXY”没有匹配的函数。它与你的更正一起工作
void displayScreenXY(int tab[yDiv][xDiv], int x, int y);