0

我在以下功能中遇到问题。我正在尝试创建一个二维结构数组并为它们分配一些值。但是我收到一个错误,在双 * 括号行上显示“从类型 'void *' 分配给类型 'struct CoordNode' 时类型不兼容”错误。谢谢你。

struct CoordNode
{
  double coordX;
  double coordY;
  double coordZ;
  char atomName[3];   
};
void parseCrdList()
{
  int resNum=1;
  int tAtomNum,i;
  char *tcoordX, *tcoordY, *tcoordZ, *tatomName, *tresNum; 
  ccur_node=headCoord_node;  
  struct CoordNode **t;
  t=(struct CoordNode **)malloc(numofRes*sizeof(struct CoordNode *));
  for (i=1;i<=numofRes;i++)
    {
      tAtomNum=0;
      while(i==resNum)
    {
          memmove(tresNum,ccur_node->crdRow+26,4);
          resNum=atoi(tresNum);
      **t[i-1][tAtomNum]=malloc(sizeof(struct CoordNode));**
          memmove(tcoordX,ccur_node->crdRow+35,7);
          memmove(tcoordY,ccur_node->crdRow+43,7);
          memmove(tcoordZ,ccur_node->crdRow+51,7);
          memmove(tatomName,ccur_node->crdRow+17,3);
          t[i-1][tAtomNum].coordX=strtod(tcoordX,NULL);
          t[i-1][tAtomNum].coordY=strtod(tcoordY,NULL);
          t[i-1][tAtomNum].coordZ=strtod(tcoordZ,NULL);
          t[i-1][tAtomNum].atomName=malloc(4*sizeof(char));
          strcpy(t[numofRes-1][tAtomNum],tatomName);
          old_ccur_node=ccur_node;
          ccur_node=ccur_node->next;
          free(old_ccur_node);
          tAtomNum++;
          if (ccur_node==NULL)
        break;
    }
      if (maxAtomNum<tAtomNum)      
    maxAtomNum=tAtomNum+1;
    }
    addCoordData(t);
}
4

0 回答 0