我为一个结构分配了 5 个位置——其中每个 CELL 都是指向该结构的指针。现在我希望第二个单元格指向我的结构,但我得到一个错误:表达式必须是一个可修改的值。我明白我正在重新定位我的指针,但我不明白如何在不复制所有值的情况下修复它。
这是我正在使用的示例:(相关内容)
typedef struct childrenArray
{
PXML_ELEMENT childrenArray;
UINT32 numOfChildren;
UINT32 maxNumOfChildren;
}CHILDREN_ARR,*PCHILDREN_ARR;
typedef struct xml_Element
{
PDATA_ELEMENT pData;
PCHILDREN_ARR pChildrenArr;
PXML_ELEMENT pParent;
PATTR_ARR pAttributeArr;
UINT32 depth;
};
当我创建子数组时:代码是:
PCHILDREN_ARR retArr;
retArr->childrenArray = (PXML_ELEMENT)Calloc(retArr->maxNumOfChildren ,sizeof(XML_ELEMENT)); /*my max is 5 .. */
现在我得到了问题:我想使用这个功能:
XML_STATUS xml_AddChildToEndArray(PXML_ELEMENT pChild , PXML_ELEMENT pParent)
{
pParent->pChildrenArr->childrenArray + pParent->pChildrenArr->numOfChildren = pChild;
}
我得到了错误...我可以解释为什么它是错误的,我该如何解决它?
我不想:
'currentCell ->name = pChild-> name'
复制所有值......只是为了让它指向孩子
谢谢!