1

[cquery] 缺少类型说明符,默认为 'int' [-Wimplicit-int]
[cquery] 使用不同类型重新定义 'ptr':'int' vs 'int *

int *ptr,size=50;
ptr=(int*) calloc(size,sizeof(int));

我该如何解决这个错误?这背后的原因是什么。

4

1 回答 1

1

对于初学者来说

ptr=(int*) calloc(size,sizeof(int));

不是声明,而是表达式语句。

您不能将语句放在文件范围内。

此外,可以使用编译时常量初始化具有静态存储持续时间的变量(并且文件范围变量具有静态存储持续时间)。

所以你应该把上面的语句放在某个函数中,例如在 main 中。

还要考虑重新设计程序的可能性,使其具有尽可能少的文件范围变量。

于 2020-09-23T12:14:45.327 回答