Do you cast the result of malloc?
本问题已经有最佳答案,请猛点这里访问。
在这个问题上,有人在评论中建议,我不应该将
1 | int *sieve = malloc(sizeof(int)*length); |
而不是:
1 | int *sieve = (int *)malloc(sizeof(int)*length); |
为什么会这样?
编辑标记为重复,因为我没有足够的研究。
在C语言中,可以隐式地将
在C++中,你不能隐式地从EDCOX1的0度到任何其他指针类型,所以需要强制转换。也就是说,在C++中,几乎可以肯定地使用EDCOX1、3和EDCOX1,4,而不是EDCOX1,1,因为它们更安全,与构造函数和析构函数一起玩得很好。
希望这有帮助!