下面是我的完整代码链接: [代码链接][1]
mm.c:543:7:错误:从指针转换为不同大小的整数 [-Werror=int-cast 指针] if ((int)(ptr = mem_sbrk(size)) == -1){ ^
我收到警告,但我的测试系统将警告视为错误
我检查了类似的答案,但它没有解决我的问题,有趣的事实是我从代码库复制了这个片段,它应该可以工作,所以为什么我收到错误。 [1]:https://onlinegdb.com/HHkE8FTov
if ((int)(ptr = mem_sbrk(size)) == -1){
由于
mem_sbrk
返回 void *
并且 ptr
是 char *
,因此仅当 int
、void *
和 char *
大小相同时才有意义。即使在您的平台上确实如此,依赖它也不是一个好习惯。