【发布时间】:2020-10-21 14:23:20
【问题描述】:
我在这样声明的函数中使用了一个字符串数组
char (*array)[PATH_MAX] = malloc (1000 * sizeof *array);
分配 1000 个大小为 PATH_MAX (1024) 的字符指针。
我希望函数返回那个特定的数据结构,即返回指针array。但我无法选择正确的返回类型。
warning: returning 'char (*)[1024]' from a function with return type 'int' makes integer from pointer without a cast [-Wint-conversion]
我知道我不能将 int 作为返回类型,但 char** 也不起作用。
warning: returning 'char (*)[1024]' from a function with incompatible return type 'char **' [-Wincompatible-pointer-types]
我尝试使用 char (*)[1024] 作为返回类型,但它给了我通用的 C 错误消息,让我相信我没有使用正确的语法。
error: expected identifier or '(' before ')' token
38 | char (*)[1024] read_dir (char *path) {
| ^
是否有正确的语法来实现这一点,还是我做错了?
【问题讨论】:
标签: c function pointers return-type