为什么当我尝试释放矩阵时会显示错误?

开心果

当我尝试编译代码时,出现此错误,但不知道为什么:

错误:'free' free(A[i]); 的参数 1 的类型不兼容;

void freeMatrix(int N, double *A)
{
for(int i = 0; i < N; i++)
        free(A[i]);
free(A);
}
迈克尔·费尔德迈尔

没有足够的声誉来评论,因此写作作为答案。

A[i] 是双精度型。free() 需要一个指针。您可能打算将该函数声明为

void freeMatrix(int N, double **A){
   for(int i = 0; i < N; i++)
      free(A[i]);
   free(A);
}

问题得到澄清:矩阵最初创建为

double *A = (double *)malloc(N * N * sizeof(double));

在这种情况下,单个调用

free(A);

足够的。一般来说,你应该像 malloc() 一样经常调用 free()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么当我尝试打开我的 android studio 项目时会出现构建错误?

为什么当我尝试为我创建的类创建构造函数时会出现错误?

为什么当我尝试更改用户时会收到此错误消息?“ myusername不在sudoers文件中”

当我尝试在Button上使用setText()时,为什么Android Studio显示错误?

当我尝试从Firebase检索数据库信息时,SwiftUI为什么会显示错误?

为什么我的Powershell在启动时会显示错误?

当我尝试在其上调用方法时,为什么UICollectionViewDataSource被释放了?

当我扩展 AbstractComboPooledDataSource 时,为什么在尝试连接时会出现CannotAcquireResourceException?

当我尝试在symfony 4中对密码进行哈希处理时会遇到什么错误

当我们尝试将变量除以零时,为什么编译器没有显示错误

当我尝试获取缓冲时间时,为什么audio.buffered.end(0)会显示错误消息

为什么当我输入一个指针并减去它时会产生错误?

为什么当我在函数内修改链表时会出现分段错误?

当我尝试在Eclipse中使用Proguard时会返回错误

为什么当我尝试显示我的 ip usig Inet 时我的应用程序崩溃?

为什么当我尝试插入集合向量时会告诉我“向量下标超出范围”?

当我尝试释放由malloc分配的char指针时,为什么会出现核心转储?

为什么我在尝试从网站收集价格时会收到 nonetype 错误?

为什么我尝试复制* str = * tmp时会发生分段错误

为什么我得到的错误,当我尝试声明局部变量?

为什么当我尝试打印我正在搜索的文件的内容时出现错误?

当我尝试使用 useState 查看我的文本时,为什么会出现错误?

当我尝试更改我的 Discord 头像时,为什么会收到“400:错误请求”?

当我尝试预测自己的结果时,为什么它会给我这个错误?

为什么当我什么都不输入并按回车键时会收到 IndexError 错误?

当我尝试在自己的类中创建对象时,为什么显示stackoverflowerror?

当我尝试在自己的类中创建对象时,为什么显示stackoverflowerror?

为什么它显示未知命令:'collectstatic',当我尝试收集静态

当我尝试保存测试计划时,为什么会出现 NoClassDefFound 错误?