gpt4 book ai didi

c - 为什么当我不转换 malloc 的结果时编译器会报错?

转载 作者:行者123 更新时间:2023-12-04 11:15:22 24 4
gpt4 key购买 nike

我正在检查不需要显式转换 malloc 调用结果的代码,但每当我尝试这样做时,编译器都会抛出错误。

char *somevar;
somevar = malloc(sizeof(char) * n); //error
somevar = (char *)malloc(sizeof(char) * n); // ok

最佳答案

如果您使用 C++ 编译器而不是 C 编译器,就会发生这种情况。因为 C++ 需要显式转换。问题不仅在于(取消)转换 malloc 结果,还在于任何指向其他指针的 void 指针。

关于c - 为什么当我不转换 malloc 的结果时编译器会报错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10568301/

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