c - 使用 malloc 时出现 "Invalid conversion"错误?

标签 c pointers matrix

<分区>

Possible Duplicate:
invalid conversion from void*&#39; to char*' when using malloc?

我正在尝试使用指针在内存中动态分配一个矩阵,但我一直收到错误消息:

|122|error: invalid conversion from 'void*' to 'int**'|

|124|error: invalid conversion from 'void*' to 'int*'|

这是我的代码,我看不出我做错了什么……这个“void*”转换对我来说没有意义……

   int i,j;
   int **a;
   int c = 2;
 

   /* Form the matrix */
   a = malloc((nxy+1)*sizeof(int *));
   for (i=0;i<=nxy;i++)
      a[i] = malloc((nxy+1)*sizeof(int));
   
   for (i=0;i<=nxy;i++)
      for (j=0;j<=nxy;j++)
         a[i][j] = 0;
   

最佳答案

您正在使用 C++ 编译器编译您的程序。您有两个选择:

  1. 不要那样做。使用 C 编译器。
  2. 转换 malloc() 的返回值。

关于c - 使用 malloc 时出现 "Invalid conversion"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9729302/

相关文章:

java - 如何使用文件输入创建二维数组

c - 从c中的函数返回指针

c - 使用 C 返回数组

matlab - 如何在 MATLAB 中不使用 for 循环生成这个 3-D 矩阵?

将结构元素与c中的整数进行比较

c - 线程练习。交替打印两个不同线程的 id

c - 哈希函数中的冲突太多

c - 不同进程的共享结构

c++ - 从 C++ 中的函数返回指针

c++ - OpenCV:我是否正确声明了矩阵?