gcc警告:指针类型不兼容

Bus*_*ush 0 c gcc gcc-warning

在我的代码中,我有:

char DRAW_EX[DRAW_HEIGHT][DRAW_WIDTH] = {
        "*     *",
        " *   * ",
        "   *   ",
        " *   * ",
        "*     *"
           };
char DRAW_CIRCLE[DRAW_HEIGHT][DRAW_WIDTH] = {
        "  ***  ",
        " *   * ",
        "*     *",
        " *   * ",
        "  ***  "
           };
char DRAW_EMPTY[DRAW_HEIGHT][DRAW_WIDTH] = {
        "       ",
        "       ",
        "       ",
        "       ",
        "       "
           };
Run Code Online (Sandbox Code Playgroud)

给我警告的那条线是:

char** leftDraw;
leftDraw = board[i][0]==EMPTY?DRAW_EMPTY:(board[i][0]==SHAPE_O?DRAW_CIRCLE:DRAW_EX);
Run Code Online (Sandbox Code Playgroud)

警告是:

warning: assignment from incompatible pointer type [enabled by default]
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Dan*_*her 5

我究竟做错了什么?

您正在尝试将a分配char (*)[DRAW_WIDTH]char**.这些是不兼容的类型.

宣布

char (*leftDraw)[DRAW_WIDTH];
Run Code Online (Sandbox Code Playgroud)

并且编译器会对该行感到满意.