【发布时间】:2015-03-06 17:23:26
【问题描述】:
这可能是一个小问题,但我不知道为什么我会收到警告
struct4.c:32:15:警告:赋值从指针目标类型中丢弃“const”限定符 [默认启用] crea[i].size = wsize[i%5];
编译:
struct shirt {
char *size;
char *colour;
} ;
typedef struct shirt Camicia;
void loadshirt (Camicia * const crea, const char *wsize[] , const char *wcolour[]);
int main (void) {
Camicia collezione[50];
const char *sizearray[] = {"xs","s","m","l","xl"};
const char *colourarray[] = {"black","blue","yellow","orange"};
loadshirt(collezione,sizearray,colourarray);
printf("%s\n",collezione[4].size);
printf("%s\n",collezione[4].colour);
return 0;
}
void loadshirt (Camicia * const crea, const char *wsize[] , const char *wcolour[]) {
int i=0;
while (i<50) {
crea[i].size = wsize[i%5];
crea[i].colour = wcolour[i%4];
i++;
}
}
【问题讨论】:
-
请缩进你的代码。现在很难读。
-
您编辑了您的问题,将
Camicia const * crea更改为Camicia * const crea。您得到的答案指出这是问题所在。是哪个? -
顺便说一句,您的代码在运行时会出现 SEGFAULT。