Ошибка компиляции (несоответствие типов) после обновления до Watcom 1.9

После обновления до Open Watcom 1.9 я получаю следующую ошибку компиляции:

Ошибка E1010!: Несоответствие типов
Заметка! I2003: исходный тип преобразования - 'Dir_t *'
Заметка! I2004: целевой тип конверсии - "unsigned char *"

Кусок кода, который приводит к ошибке, эквивалентен этому:

int GetDirEntryFromFile(Dir_t **DirStruc)
{
    static Dir_t Dir;
    static expret_t ExpandRet = { 0, &Dir };

    int retval;
    ...
    return retval;
}


typedef struct
{
    int val;
    byte *buffer;
} expret_t;


typedef struct
{
    char FileName[8];
    char FileExt[3];
    byte Attribute;
    word NTStuff;
    word CreationTime;
    word CreationDate;
    word AccessDate;
    word FirstClusterHi;
    word FileTime;
    word FileDate;
    word FirstCluster;
    dword FileSize;
} Dir_t;

Старая версия Watcom скомпилировала его без ошибок.
Это кажется мне очень простым для большинства программистов на Си.
Но я никогда не получал опыт работы с C, поэтому прошу прощения за этот тривиальный вопрос:)

Может кто-нибудь помочь мне с объяснением и рабочим кодом?

0 ответов

Другие вопросы по тегам