Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/152.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ “是什么意思?”;错误:从';int';至';国际(*)[8]';[-FPERMISSION]“是否允许?”;? #包括 使用名称空间std; 枚举{行=7,列=8}; 无效显示(整数矩阵[][列],整数,整数); int main(){ int水平=0; int垂直=5; 国际金币[行][列]={ {5, 1, 0, 4, 1, 1, 2, 0}, {0, 3, 2, 1, 0, 3, 0, 1}, {4, 3, 0, 6, 5, 0, 1, 0}, {3, 1, 0, 3, 4, 0, 1, 3}, {0, 5, 2, 0, 1, 1, 5, 1}, {2, 1, 6, 1, 6, 0, 2, 1}, {0, 0, 4, 3, 2, 3, 0, 2} }; 展示(金币[行][列],1,1); 返回0; } 无效显示(整数矩阵[][列],整数x,整数y){ 如果(y>=列) cout_C++_Compiler Errors - Fatal编程技术网

C++ “是什么意思?”;错误:从';int';至';国际(*)[8]';[-FPERMISSION]“是否允许?”;? #包括 使用名称空间std; 枚举{行=7,列=8}; 无效显示(整数矩阵[][列],整数,整数); int main(){ int水平=0; int垂直=5; 国际金币[行][列]={ {5, 1, 0, 4, 1, 1, 2, 0}, {0, 3, 2, 1, 0, 3, 0, 1}, {4, 3, 0, 6, 5, 0, 1, 0}, {3, 1, 0, 3, 4, 0, 1, 3}, {0, 5, 2, 0, 1, 1, 5, 1}, {2, 1, 6, 1, 6, 0, 2, 1}, {0, 0, 4, 3, 2, 3, 0, 2} }; 展示(金币[行][列],1,1); 返回0; } 无效显示(整数矩阵[][列],整数x,整数y){ 如果(y>=列) cout

C++ “是什么意思?”;错误:从';int';至';国际(*)[8]';[-FPERMISSION]“是否允许?”;? #包括 使用名称空间std; 枚举{行=7,列=8}; 无效显示(整数矩阵[][列],整数,整数); int main(){ int水平=0; int垂直=5; 国际金币[行][列]={ {5, 1, 0, 4, 1, 1, 2, 0}, {0, 3, 2, 1, 0, 3, 0, 1}, {4, 3, 0, 6, 5, 0, 1, 0}, {3, 1, 0, 3, 4, 0, 1, 3}, {0, 5, 2, 0, 1, 1, 5, 1}, {2, 1, 6, 1, 6, 0, 2, 1}, {0, 0, 4, 3, 2, 3, 0, 2} }; 展示(金币[行][列],1,1); 返回0; } 无效显示(整数矩阵[][列],整数x,整数y){ 如果(y>=列) cout,c++,compiler-errors,C++,Compiler Errors,传入参数的方式错误。传入不带括号的数组名称标识符: #include <iostream> using namespace std; enum {ROW = 7, COLUMN = 8}; void show(int matrix[][COLUMN], int, int); int main (){ int horizontal = 0; int vertical = 5; int goldCoin[ROW][COLUMN] = {

传入参数的方式错误。传入不带括号的数组名称标识符:

#include <iostream>

using namespace std;

enum {ROW = 7, COLUMN = 8};

void show(int matrix[][COLUMN], int, int);

int main (){

    int horizontal = 0;
    int vertical = 5;
    int goldCoin[ROW][COLUMN] = {
                            {5, 1, 0, 4, 1, 1, 2, 0},
                            {0, 3, 2, 1, 0, 3, 0, 1},
                            {4, 3, 0, 6, 5, 0, 1, 0},
                            {3, 1, 0, 3, 4, 0, 1, 3},
                            {0, 5, 2, 0, 1, 1, 5, 1},
                            {2, 1, 6, 1, 6, 0, 2, 1},
                            {0, 0, 4, 3, 2, 3, 0, 2}
                        };

    show(goldCoin[ROW][COLUMN], 1, 1);
    return 0;
}

void show(int matrix[][COLUMN], int x, int y){
    if(y >= COLUMN)
        cout << "[error: column index is beyond array limit]" << endl;
    else
        cout << "[" << matrix[x][y] << "]" << endl;
}

表达式
goldCoin[ROW][COLUMN]
表示2D数组中类型为
int
的单个值。因此,您传递的是
int
值,而不是函数所期望的
int(*)[]
值。在这种情况下,这实际上是读取越界,因为没有坐标为
[7]的元素[8] 
金币[7][8]
表示,因为数组是零索引的。 仅在功能声明/定义中,签名为:

show(goldCoin, 1, 1);

不要混淆两者。

传入参数的方式错误。传入不带括号的数组名称标识符:

#include <iostream>

using namespace std;

enum {ROW = 7, COLUMN = 8};

void show(int matrix[][COLUMN], int, int);

int main (){

    int horizontal = 0;
    int vertical = 5;
    int goldCoin[ROW][COLUMN] = {
                            {5, 1, 0, 4, 1, 1, 2, 0},
                            {0, 3, 2, 1, 0, 3, 0, 1},
                            {4, 3, 0, 6, 5, 0, 1, 0},
                            {3, 1, 0, 3, 4, 0, 1, 3},
                            {0, 5, 2, 0, 1, 1, 5, 1},
                            {2, 1, 6, 1, 6, 0, 2, 1},
                            {0, 0, 4, 3, 2, 3, 0, 2}
                        };

    show(goldCoin[ROW][COLUMN], 1, 1);
    return 0;
}

void show(int matrix[][COLUMN], int x, int y){
    if(y >= COLUMN)
        cout << "[error: column index is beyond array limit]" << endl;
    else
        cout << "[" << matrix[x][y] << "]" << endl;
}

表达式
goldCoin[ROW][COLUMN]
表示2D数组中类型为
int
的单个值。因此,您传递的是
int
值,而不是函数所期望的
int(*)[]
值。在这种情况下,这实际上是读取越界,因为没有坐标为
[7]的元素[8] 
金币[7][8]
表示,因为数组是零索引的。 仅在功能声明/定义中,签名为:

show(goldCoin, 1, 1);
不要混淆两者。

在调用
show(goldCoin[ROW][COLUMN],1,1);
时,您传递的是
int
作为第一个参数,而不是您可能希望传递的2D数组

我相信您是想做
show(goldCoin,1,1);

在调用
show(goldCoin[ROW][COLUMN],1,1);
时,您传递的是
int
作为第一个参数,而不是您可能想要的二维数组


我相信你的意思是做
show(goldCoin,1,1);

goldCoin[ROW][COLUMN]
指的是一个
int
(除了它访问数组超出范围之外),函数需要一个二维数组-有什么不清楚的吗?
show
接受
int[][][/code>但是当你调用
goldCoin[ROW]时[COLUMN]
您正在索引生成单个
int
的数组。我猜您的意思是
show(goldCoin,1,1)
Thank's CoryKramer。我不知道这一点。作为补充说明,
goldCoin[ROW][COLUMN]
表达式的读数超出了范围。
goldCoin[ROW][COLUMN]
指的是单个
int
(除了访问超出边界的数组外)并且函数需要一个二维数组-什么不清楚?
show
接受一个
int[][]
但是当您调用
goldCoin[ROW][COLUMN]
时,您正在对数组进行索引,该数组生成一个
int
。我假设您的意思是
show(goldCoin,1,1)
Thank's CoryKramer。我不知道。作为旁注,
goldCoin[ROW][COLUMN]
表达式的读数超出了范围。