在函数内重新分配内存并在C中按引用传递

我知道这听起来很愚蠢,但是为什么我实现的这个功能不能正常工作?

我在终端中收到以下错误:

cerinta3.c: In function ‘void realocare_memorie(student**, int)’:
cerinta3.c:9:19: error: invalid conversion from ‘void*’ to ‘student*’ [-fpermissive]
    9 |  *vector = realloc(*vector, dimensiune * sizeof(student));
      |            ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                   |
      |                   void*
void realocare_memorie (student **vector, int dimensiune) {
    *vector = realloc(*vector, dimensiune * sizeof(student));
}

回答

您通过 C++ 编译器编译了 C 代码(g++通过错误消息)。这是犯那个错误的签名错误。gcc改为调用。


以上是在函数内重新分配内存并在C中按引用传递的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>