Пустая декларация со спецификатором класса хранения / Два или более типов данных в спецификаторах декларации - PullRequest
0 голосов
/ 27 мая 2018

В настоящее время я получаю 2 ошибки при попытке скомпилировать мои файлы с помощью make-файла.

Появляются следующие ошибки, и я не уверен, как их исправить:

  • два или более типов данных в спецификаторах объявлений
  • пустое объявление со спецификатором класса хранения не переименовывает тег

относительно этой строки:

typedef enum __bool__ bool;

Коддля моего файла заголовка, предоставленного школой для моей оценки, являются следующие:

#ifndef _dict_h
#define _dict_h

#define VECSIZE ('z'-'a' + 1)

typedef char *word;
enum __bool__ { FALSE, TRUE };
typedef enum __bool__ bool;

typedef struct __tnode__  *Dict, TNode;
struct __tnode__ {
    Dict cvec[VECSIZE];         
    bool eow;                   
};

void newdict(Dict *dp);
void addword (const Dict r, const word w);
bool checkword (const Dict r, const word w);
void delword (const Dict r, const word w);

И для моего файла C, который я сейчас пишу:

void newdict (Dict *dp) {
    *dp = NULL;
    dp = (Dict *)malloc(sizeof(Dict));
    if (dp) {
        int i;
        (*dp)->eow = FALSE;
        for (i = 0; i < VECSIZE; i++) {
            (*dp)->cvec[i] = NULL;
        }
    }
}

void addword (const Dict r, const word w) {
    int level;
    int length = strlen(w);
    int index;

    Dict pCrawl = r;

    for (level = 0; level < length; level++) {
        index = CHAR_TO_INDEX(w[level]);
        if (!pCrawl->cvec[index]) {
            newdict(&(pCrawl->cvec[index]));
        }
        pCrawl = pCrawl->cvec[index];
    }
    pCrawl->eow = TRUE;
}

bool checkword (const Dict r, const word w) {
    int level;
    int length = strlen(w);
    int index;

    Dict pCrawl = r;

    for (level = 0; level < length; level++) {
        index = CHAR_TO_INDEX(w[level]);
        if (!pCrawl->cvec[index]) {
            return false;
        }
        pCrawl = pCrawl->cvec[index];       
    }
    return(pCrawl != NULL && pCrawl->eow);

}

Я относительноновичок в C, поэтому любые советы, связанные или не связанные с ошибками, будут с благодарностью.Заранее спасибо.

...