首页 > 解决方案 > 'newItem' 是一个指针;你的意思是使用'->'吗?

问题描述

嗨,我该如何解决这个错误?'newItem' 是一个指针;你的意思是使用'->'吗?

int insertItem(const struct item *newItem){
int i;

if(itemNo == maxItem)return(0);
if(searchItemById(newItem.id) != -1)return(-1);

for(i=itemNo-1;i>=0;i--)
    if(newItem.id<itemList[i].id)
        itemList[i+1]= itemList[i];
    else break;
itemList[i+1] = newItem;
itemNo++;
return(2);
}

我的错在哪里?

标签: c

解决方案


这 。(点)运算符和 ->(箭头)运算符用于引用类、结构和联合的各个成员。

点运算符应用于实际对象。箭头运算符与指向对象的指针一起使用。例如,考虑以下结构

因为newItem是一个指针,如果你想访问它的成员,那么你必须使用 -> (arrow) :

newItem->member

或者,如果您仍想使用. (dot),请在访问其成员之前取消引用它:

(*newItem).member


推荐阅读