我无法理解为什么编译器会给我以下错误:
level0.c:在函数'create_grid'中:level0.c:28:9:警告:返回 从不兼容的指针类型[-Wincompatible-pointer-types]返回 网格;
我正在尝试返回一个指向我在函数中创建类型struct gridType的结构的指针。这也是函数期望返回的类型。
该功能的代码是:
struct gridType* create_grid(int length){
char** array = malloc(length * sizeof(*array));
for(int i = 0; i < length; i++){
array[i] = malloc(length * sizeof(array));
}
for(int i = 0; i < length; i++){
for (int j = 0; j < length; j++){
array[i][j] = '-';
}
}
struct gridType{
int length;
char** array;
};
struct gridType* grid = malloc(sizeof(struct gridType));
grid->length = length;
grid->array = array;
return grid;
}
答案 0 :(得分:2)
您无法在功能中定义struct gridType
并希望能够将其返回(供其他人查看)。
输入移动
struct gridType{
int length;
char** array;
};
在函数create_grid()
之外(之前)。