PDA

Просмотр полной версии : Help. Ошибка синтаксиса или хз чего=\


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 - вытащить элемент и вывести на экран. Сообственно всё =)

VERte][
01.10.2008, 23:05
Это все-таки не ассемблер, где в прототипе указывается только размер, почитай стандарт С99, описанный Шилдтом. И мне не нужен С++, мне нужен именно С!!!

edit
К тому же это не конструктивное замечание, ошибка от этого не исчезла.

VERte][
01.10.2008, 23:59
Хаха, да забавно, неожиданно) +5