構造体に 5 つの場所を割り当てました。ここで、各 CELL は構造体へのポインターです。たとえば、2番目のセルが構造体を指すようにしたいのですが、エラーが発生します:式は変更可能な値でなければなりません。ポインターを再配置しているという点はわかりますが、すべての値をコピーせずに修正する方法がわかりません。
これが私が使用している例です:(関連するもの)
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'
すべての値をコピーしています...子を指すようにするためだけに
ありがとう!