Итак, я на последних шагах моего проекта, и мне нужно вернуть структуру из функции, чтобы я мог использовать ее в main.
Соответствующий код можно увидеть:
typedef struct SomeProduct {
int itemNum;
char itemName[21];
double unitPrice;
int stockQty;
int restockQty;
struct SomeProduct *next;
} SProduct;
struct llpro {
SProduct data;
struct llpro *next;
};
////////////////////SKIP LINES to identifier
SProduct findItem(struct llpro *head,int num);
///////////////////SKIP LINES to assignment that fails. head is the proper
////////////////// pointeritemspurchased is an int.
SProduct steve;
steve=findItem(head,newv.itemsPurchased[y]);
//////////////////Skip Lines to method
SProduct findItem(struct llpro *head,int num)
{
while(head!=NULL)
{
if(head->data.itemNum==num)
{
SProduct paul;
paul=head->data;
return paul;
}
}
}
Каждый раз, когда я пытаюсь его скомпилировать, я получаю ошибки компоновщика, говорящие, что они никогда не определены. Затем, когда я вынимаю идентификатор, я получаю сообщение о том, что steve и paul являются несовместимыми типами, даже если они оба являются SProducts. Пожалуйста помоги!
Я также хотел бы уточнить, что я пытаюсь сделать, это поиск по связанному списку Sproducts и получить информацию из того, который разделяет номер элемента с тем, который я ищу. Ошибка компоновщика говорит "неопределенная ссылка на 'finditem' в функции printsum