我正在使用visual studio for C,我从一个双向链表中创建一个包含int数据类型(startCount
和endCount
)的节点数组。所以我将d链表中的节点插入到这个数组中。然后我试图通过分区来对其进行排序。
我收到以下错误:
left of '->startCount' must point to struct union
expression must have pointer-to-class type
表示while语句中的以下代码:
int PartitionArray(DListNode*** sortArray){
........
while((*sortArray[left]->startCount - *sortArray[left]->endCount) < (pivot->startCount - pivot->endCount)){
left++;
}
........
}
where in main I have:
int main(){
DListNode **sortArray;
PartitionArray(sortArray);
}
我不明白我是怎么想通过引用传递的数组来访问节点的值。
答案 0 :(得分:1)
根据您定义数据结构的方式,您可能会以错误的方式取消引用变量。由于*运算符的优先级较低,因此您可能需要使用
(*sortArray)[left]->startCount
或
(*sortArray[left])->startCount
或
(*sortArray)[left].startCount
或
(*sortArray[left]).startCount
而不是
*sortArray[left]->startCount