gpt4 book ai didi

c - 来自整数的 strdup 警告指针 w/o cast

转载 作者:太空宇宙 更新时间:2023-11-04 00:16:53 26 4
gpt4 key购买 nike

我正在使用函数“strdup”将 char* 插入 char** 并获取 search.c:174:13: warning: assignment makes pointer from integer without a cast [默认启用] 警告。

char** temp;
...

temp = NULL;
...

temp[0] = strdup(tokens[i]);

tokens[i] 只是来自 strtok() 函数的字符串。

我不认为这是相关的,但我也有这个警告......search.c:174:5: warning: implicit declaration of function 'strdup' [-Wimplicit-function-declaration] 之所以显示是因为我有 -ansi 标志并且我检查了该函数是工作,我只是讨厌看到警告。

如果回答了这个问题,我也深表歉意;有很多与此类似的问题,但没有一个对我有帮助,因为据我所知,我的类型是匹配的。 (如果我收到警告,显然不会)

最佳答案

I don't think it's related but I have this warning as well... search.c:174:5: warning: implicit declaration of function ‘strdup’ [-Wimplicit-function-declaration]

是有关联的,都是同一个原因。您没有 strdup 的原型(prototype)在范围内,因此假定返回类型为 int (在 C89/C90 中;隐式声明已在 C99 中删除,但默认情况下仍被广泛接受)。

您需要 #include <string.h>并启用允许 strdup 的功能测试宏之一被定义,例如_XOPEN_SOURCE >= 500_BSD_SOURCE (甚至可能只有在没有 -ansi 的情况下才有效)。

关于c - 来自整数的 strdup 警告指针 w/o cast,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13426645/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com