VERte][
01.10.2008, 22:19
Вообщем накатал прогу на C и тут вот вылезает мне ошибка:
\queu\main.c|10|error: two or more data types in declaration of `add'
Подскажите что за х? (В с++ с именами структур как-то попроще=\)
Вот код (уже посностью рабочий):
#include <stdio.h>
#include <stdlib.h>
typedef struct chain
{
int elem;
struct chain *next;
} chain;
chain *first=NULL, *last=NULL;
void add(int elem);
void get();
int main()
{
int elem;
char op;
do
{
printf("Input option (a-add, g-get, any key-quit): ");
fflush(stdin);
scanf("%c",&op);
if(op=='a')
{
scanf("%d",&elem);
add(elem);
}
if(op=='g')
get();
}while((op=='a') ||(op=='g'));
return 0;
}
void get()
{
if (first!=NULL)
{
chain *p=NULL;
printf("Element: ");
printf("%d\n",first->elem);
p=first;
if ((first=first->next)==NULL)
last=NULL;
free(p);
p=NULL;
}
else
printf("No-no-no David Blain!!! O_o\n");
}
void add(int elem)
{
chain *p=NULL;
p=malloc(sizeof(chain));
p->elem=elem;
p->next=NULL;
if (first==NULL)
first=p;
else
last->next=p;
last=p;
}
если закоментить везде add такая же ошибка вылезает на get =\
Небольшое описание: прога моделирует работу очереди, делал на основе списка (элемент - структура описанная в самом верху), есть 2 функции add - добавить элемент в очередь и get - вытащить элемент и вывести на экран. Сообственно всё =)
\queu\main.c|10|error: two or more data types in declaration of `add'
Подскажите что за х? (В с++ с именами структур как-то попроще=\)
Вот код (уже посностью рабочий):
#include <stdio.h>
#include <stdlib.h>
typedef struct chain
{
int elem;
struct chain *next;
} chain;
chain *first=NULL, *last=NULL;
void add(int elem);
void get();
int main()
{
int elem;
char op;
do
{
printf("Input option (a-add, g-get, any key-quit): ");
fflush(stdin);
scanf("%c",&op);
if(op=='a')
{
scanf("%d",&elem);
add(elem);
}
if(op=='g')
get();
}while((op=='a') ||(op=='g'));
return 0;
}
void get()
{
if (first!=NULL)
{
chain *p=NULL;
printf("Element: ");
printf("%d\n",first->elem);
p=first;
if ((first=first->next)==NULL)
last=NULL;
free(p);
p=NULL;
}
else
printf("No-no-no David Blain!!! O_o\n");
}
void add(int elem)
{
chain *p=NULL;
p=malloc(sizeof(chain));
p->elem=elem;
p->next=NULL;
if (first==NULL)
first=p;
else
last->next=p;
last=p;
}
если закоментить везде add такая же ошибка вылезает на get =\
Небольшое описание: прога моделирует работу очереди, делал на основе списка (элемент - структура описанная в самом верху), есть 2 функции add - добавить элемент в очередь и get - вытащить элемент и вывести на экран. Сообственно всё =)