ポインターを使用してパラメーターとして渡された構造体を変更しようとしていますが、うまくいきません。関数は整数を返す必要があるため、構造体を返すことはできません。関数内の構造体を変更するにはどうすればよいですか? これは私がこれまでに行ったことです:
typedef enum {TYPE1, TYPE2, TYPE3} types;
typedef struct {
types type;
int act_quantity;
int reorder_threshold;
char note[100];
}elem;
int update_article(elem *article, int sold)
{
if(*article.act_quantity >= sold)
{
article.act_quantity = article.act_quantity - sold;
if(article.act_quantity < article.act_quantity)
{
strcpy(article.note, "to reorder");
return -1;
}
else
return 0;
}
else if(article.act_quantity < venduto)
{
strcpy(*article.note, "act_quantity insufficient");
return -2;
}
}
構造体を変更しようとしたすべての行で、「エラー: メンバーの要求: 'act_quantity' in something not a structure or union'」というエラーが表示されます。
編集:「。」を使用しました。「->」の代わりに。今直しました。それでもエラーが表示されます:「単項 '*'の型引数が無効です('int'を持っています)」