定义一个结构体之后引用的时候突然发现很多报错
typedef struct{
int cost;
int value;
} item[N];//误以为这是声明了变量
for(i=0,k=0; i<n; i++,k++)
scanf("%d%d",&item[k].cost,&item[k].value);//报错
item[N] is a type name, not a variable name. You cannot invoke instance methods on a type.
Create a variable of type item[N], assign it an instance, and then call methods on the instance
是指缺少申明,需要申明变量;结构变量名,而不是结构类型名。解决:
typedef struct{
int cost;
int value;
} good;
good item[N];
for(i=0,k=0; i<n; i++,k++)
scanf("%d%d",&item[k].cost,&item[k].value);