在使用 Dev-C++ 编写 C 语言程序时出现:
//动态分配顺序表
void InCreaseSize(SqList *L, int length){
// int i ;
int *p = L->data;
L->data = (int *)malloc(sizeof(int) * (L->MAXSIZE + length));
for(int i = 0 ; i < L->length; i++){
L->data[i] = p[i];
}
L->MAXSIZE = L->MAXSIZE + length;
free(p);
}
[Warning] conflicting types for 'InitList' [enabled by default]
原因:
在 for 循环里声明变量只允许在 C99 或 C11 模式
解决方法:
将int i 先声明
void InCreaseSize(SqList *L, int length){
int i ;
int *p = L->data;
L->data = (int *)malloc(sizeof(int) * (L->MAXSIZE + length));
for(i = 0 ; i < L->length; i++){
L->data[i] = p[i];
}
L->MAXSIZE = L->MAXSIZE + length;
free(p);
}
成功!