Help. Ошибка синтаксиса или хз чего=\

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by VERte][, 1 Oct 2008.

  1. VERte][

    VERte][ Elder - Старейшина

    Joined:
    17 May 2007
    Messages:
    240
    Likes Received:
    163
    Reputations:
    32
    Вообщем накатал прогу на C и тут вот вылезает мне ошибка:
    Code:
    \queu\main.c|10|error: two or more data types in declaration of `add'
    Подскажите что за х? (В с++ с именами структур как-то попроще=\)

    Вот код (уже посностью рабочий):
    Code:
    #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 - вытащить элемент и вывести на экран. Сообственно всё =)
     
    #1 VERte][, 1 Oct 2008
    Last edited: 2 Oct 2008
  2. VERte][

    VERte][ Elder - Старейшина

    Joined:
    17 May 2007
    Messages:
    240
    Likes Received:
    163
    Reputations:
    32
    Это все-таки не ассемблер, где в прототипе указывается только размер, почитай стандарт С99, описанный Шилдтом. И мне не нужен С++, мне нужен именно С!!!

    edit
    К тому же это не конструктивное замечание, ошибка от этого не исчезла.
     
    #2 VERte][, 1 Oct 2008
    Last edited: 1 Oct 2008
  3. VERte][

    VERte][ Elder - Старейшина

    Joined:
    17 May 2007
    Messages:
    240
    Likes Received:
    163
    Reputations:
    32
    Хаха, да забавно, неожиданно) +5
     
    1 person likes this.