gpt4 book ai didi

c - 为什么我会收到 "Invalid conversion from "void *"to "int**”错误?

转载 作者:行者123 更新时间:2023-12-02 07:38:23 24 4
gpt4 key购买 nike

我的代码在使用“g++ -Wall -pedantic -Wno-long-long -c main.c”编译时显示此警告。我必须在这种模式下进行编译,因为它是一项作业,我们有一个应用程序可以纠正它们,并且它使用这种编译模式。

  1. 错误:从“void”到“int**”的无效转换[-fpermissive]
  2. 错误:从“void”到“int*”的转换无效 [-fpermissive]
  3. 错误:从“void”到“main(int, char*)::VYSLEDEK”的无效转换[-fpermissive]

当我在程序中重新分配相当多的内容时,同样的错误仍然存​​在。我尝试更改该 realloc 中的几乎所有内容,但它仍然是相同的。

部分代码:

    struct VYSLEDEK
{
int sirka;
int vyska;
int zacatek_x;
int zacatek_y;
int soucet;
} *vysledek;
int **matice,**soucty;

.....

matice=(int**)malloc(1*sizeof(int*));
matice[0]=(int*)malloc(1*sizeof(int));
soucty=(int**)malloc(1*sizeof(int*));
soucty[0]=(int*)malloc(1*sizeof(int));

.....

1. matice=realloc(matice,naalokovano*2*sizeof(int*));
2. soucty=realloc(soucty,naalokovano*2*sizeof(int*));

.....

for (i=0;i<(naalokovano*2);i++)
{
3. matice[i]=realloc(matice[i],sizeof(int));
4. soucty[i]=realloc(soucty[i],sizeof(int*));
};

.....

5. vysledek=realloc(vysledek,vysledku*sizeof(struct VYSLEDEK*));

感谢您的帮助。

最佳答案

您已经将 malloc 的结果转换为正确的类型。对 realloc 调用也执行相同的操作。

顺便说一句:不要提示他们强制你打开警告。我认为这是默认情况下最明智的做法,我总是至少使用 -Wall -Werror

关于c - 为什么我会收到 "Invalid conversion from "void *"to "int**”错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20282839/

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