&引用;无效转换“;使用malloc时出错?

&引用;无效转换“;使用malloc时出错?,c,pointers,matrix,C,Pointers,Matrix,可能重复: 我正试图使用指针在内存上分配一个矩阵,但我一直收到错误消息: |122 |错误:从“void*”到“int**”的转换无效| |124 |错误:从“void*”到“int*”的转换无效| 这是我的代码,我看不出我做错了什么。。。这种“void*”转换对我来说没有意义 int i,j; int **a; int c = 2; /* Form the matrix */ a = malloc((nxy+1)*sizeof(int *)); fo

可能重复:

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

|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;
   
inti,j;
国际**a;
int c=2;
/*形成矩阵*/
a=malloc((nxy+1)*sizeof(int*);

对于(i=0;i),您正在用C++编译器编译程序。
  • 不要那样做。使用C编译器
  • malloc()
    强制转换返回值

  • 你是用C编译器而不是C++编译器来编译吗?添加到@ CharlesBailey评论。你在VisualStudio的.CPP文件中编译这个吗?我实际使用代码::BooSt:你是什么意思?如果它只是空内存的一部分,我应该如何铸造返回值?<代码> A=(int **)Maloc(…)
    。我不明白你的问题。没关系,我只是把脑袋弄得一团糟。哈哈,我明白了