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

时间:2012-03-15 22:45:00

标签: c pointers matrix

  

可能重复:
  invalid conversion from void*' tochar*' when using malloc?

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

  

| 122 |错误:从'void *'到'int **'|

的转换无效      

| 124 |错误:从'void *'到'int *'|

的转换无效

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

   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;

1 个答案:

答案 0 :(得分:12)

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

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