使用malloc时出现"无效转换"错误?

Imp*_*ian 2 c pointers matrix

可能重复:使用malloc时
void*' tochar*' 转换无效?

我正在尝试使用指针在memmory上分配一个矩阵,但我一直收到错误消息:

| 122 |错误:从'void*'到'int**'|的无效转换

| 124 |错误:从'void*'到'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;
Run Code Online (Sandbox Code Playgroud)

Car*_*rum 11

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

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