**已关闭。**此问题为not reproducible or was caused by typos。当前不接受答案。
这个问题是由一个错字或一个无法再复制的问题引起的。虽然类似的问题可能是on-topic在这里,但这个问题的解决方式不太可能帮助未来的读者。
4天前关闭。
Improve this question
谁能帮我理解为什么这个函数会产生错误:
error:non-void function does not return a value [-Werror,-Wreturn-type] }生成^ 1错误。
void *ft_clearpath(char **arr)
{
int i;
i = 0;
while(arr[i])
free(arr[i++]);
free(arr);
}
显然,它是一个空函数,不应该有返回值。它假设在退出程序之前清除路径。
非常感谢。
2条答案
按热度按时间bbmckpt71#
函数的返回类型是指针类型
void *
所以函数应该返回一个指针,但它什么也不返回。
要么把它定义为
比如说
(使用函数调用者中声明的指针的名称代替名称
arr
)或者说
zfciruhq2#
void
类型的指针是一个唯一的指针类型。它允许我们指向任何数据类型,从整数值或浮点数到字符串。因此,它不是void
函数。要使其成为一个,请从函数签名中删除星号(
*
)。