0
Я пытаюсь загрузить решение в OJ, судья использует GCC Я получил следующие ошибки и не имел представления о них.Несколько ошибок компиляции при использовании GCC
error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘{’ token
void insert(int in){
^
In function ‘main’:
error: ‘struct mymultiset_int’ has no member named ‘insert’
x.insert(t);
^
error: ‘struct mymultiset_int’ has no member named ‘getmax’
printf("%d\n",x.getmax());
^
error: ‘struct mymultiset_int’ has no member named ‘_delete’
x._delete(0);
^
Мой код выглядит следующим образом:
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
int t;
#define swap(a,b) t=b,b=a,a=t
/*
when using swap, I use format like swap(x,y); or swap(x,y),
*/
struct mymultiset_int{
int e[100000],end;
void insert(int in){...}
int getmax(){ return e[0]; }
void _delete(int i){...}
}x;
int main(){
x.end=0;memset(x.e,0,sizeof(x.e));
int N,t;scanf("%d",&N);
char i[2];
while (N--){
scanf("%s",i);
if (i[0]=='A'){
scanf("%d",&t);
x.insert(t);
}
else{
printf("%d\n",x.getmax());
x._delete(0);
}
}
}
Вы не можете использовать функции в 'struct' в C –
#define swap (a, b) t = b, b = a, a = t должен быть swap (a, b) t = b; b = а; а = т; – Brian
Является ли C не C++. Struct не похож на класс ... – LPs